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;
};
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