summaryrefslogtreecommitdiffstats
path: root/announce.h
diff options
context:
space:
mode:
Diffstat (limited to 'announce.h')
-rw-r--r--announce.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/announce.h b/announce.h
index 49c5f13..ab8ce12 100644
--- a/announce.h
+++ b/announce.h
@@ -10,13 +10,20 @@ typedef struct _flxAnnouncement flxAnnouncement;
#include "server.h"
#include "timeeventq.h"
+typedef enum {
+ FLX_PROBING,
+ FLX_ANNOUNCING,
+} flxAnnouncementState;
+
struct _flxAnnouncement {
flxServer *server;
flxInterface *interface;
flxServerEntry *entry;
-
+
flxTimeEvent *time_event;
- guint n_announced;
+
+ flxAnnouncementState state;
+ guint n_iteration;
guint sec_delay;
FLX_LLIST_FIELDS(flxAnnouncement, by_interface);
@@ -26,6 +33,8 @@ struct _flxAnnouncement {
void flx_announce_interface(flxServer *s, flxInterface *i);
void flx_announce_entry(flxServer *s, flxServerEntry *e);
+gboolean flx_entry_established(flxServer *s, flxServerEntry *e, flxInterface *i);
+
void flx_goodbye_interface(flxServer *s, flxInterface *i, gboolean send);
void flx_goodbye_entry(flxServer *s, flxServerEntry *e, gboolean send);