ia64/xen-unstable

view tools/xenstore/xenstored_watch.h @ 6946:e703abaf6e3d

Add behaviour to the remove methods to remove the transaction's path itself. This allows us to write Remove(path) to remove the specified path rather than having to slice the path ourselves.
author emellor@ewan
date Sun Sep 18 14:42:13 2005 +0100 (2005-09-18)
parents 3233e7ecfa9f
children 06d84bf87159
line source
1 /*
2 Watch code for Xen Store Daemon.
3 Copyright (C) 2005 Rusty Russell IBM Corporation
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */
20 #ifndef _XENSTORED_WATCH_H
21 #define _XENSTORED_WATCH_H
23 #include "xenstored_core.h"
25 void do_watch(struct connection *conn, struct buffered_data *in);
26 void do_watch_ack(struct connection *conn, const char *token);
27 void do_unwatch(struct connection *conn, struct buffered_data *in);
29 /* Is this a watch event message for this connection? */
30 bool is_watch_event(struct connection *conn, struct buffered_data *out);
32 /* Look through our watches: if any of them have an event, queue it. */
33 void queue_next_event(struct connection *conn);
35 /* Fire all watches: recurse means all the children are effected (ie. rm).
36 */
37 void fire_watches(struct connection *conn, const char *node, bool recurse);
39 /* Find shortest timeout: if any, reduce tv (may already be set). */
40 void shortest_watch_ack_timeout(struct timeval *tv);
42 /* Check for watches which may have timed out. */
43 void check_watch_ack_timeout(void);
45 void dump_watches(struct connection *conn);
47 #endif /* _XENSTORED_WATCH_H */