]> git.meshlink.io Git - catta/blobdiff - announce.h
fix two memory leaks
[catta] / announce.h
index ab8ce128680d9540bf345e123f75cc3f7e5b7f3c..c7094fb9a242bb85e84d4ce05a691c5fc5ef933f 100644 (file)
@@ -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