summaryrefslogtreecommitdiffstats
path: root/announce.h
diff options
context:
space:
mode:
Diffstat (limited to 'announce.h')
-rw-r--r--announce.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/announce.h b/announce.h
index ab8ce12..c7094fb 100644
--- a/announce.h
+++ b/announce.h
@@ -12,13 +12,15 @@ typedef struct _flxAnnouncement flxAnnouncement;
typedef enum {
FLX_PROBING,
+ FLX_WAITING, /* wait for other records in group */
FLX_ANNOUNCING,
+ FLX_ESTABLISHED
} flxAnnouncementState;
struct _flxAnnouncement {
flxServer *server;
flxInterface *interface;
- flxServerEntry *entry;
+ flxEntry *entry;
flxTimeEvent *time_event;
@@ -31,13 +33,19 @@ struct _flxAnnouncement {
};
void flx_announce_interface(flxServer *s, flxInterface *i);
-void flx_announce_entry(flxServer *s, flxServerEntry *e);
+void flx_announce_entry(flxServer *s, flxEntry *e);
+void flx_announce_group(flxServer *s, flxEntryGroup *g);
-gboolean flx_entry_established(flxServer *s, flxServerEntry *e, flxInterface *i);
+void flx_entry_group_check_probed(flxEntryGroup *g, gboolean immediately);
+
+gboolean flx_entry_registered(flxServer *s, flxEntry *e, flxInterface *i);
+gboolean flx_entry_registering(flxServer *s, flxEntry *e, flxInterface *i);
void flx_goodbye_interface(flxServer *s, flxInterface *i, gboolean send);
-void flx_goodbye_entry(flxServer *s, flxServerEntry *e, gboolean send);
+void flx_goodbye_entry(flxServer *s, flxEntry *e, gboolean send);
void flx_goodbye_all(flxServer *s, gboolean send);
+flxAnnouncement *flx_get_announcement(flxServer *s, flxEntry *e, flxInterface *i);
+
#endif