]> git.meshlink.io Git - catta/blobdiff - psched.h
fix some memory corruption bugs
[catta] / psched.h
index 3a99ed1dddf203d5d76cc800a3d73ad41164f78a..7290265c1d957b09881f2a7beca8496524a438b3 100644 (file)
--- a/psched.h
+++ b/psched.h
@@ -24,6 +24,8 @@ struct _flxResponseJob {
     flxPacketScheduler *scheduler;
     flxTimeEvent *time_event;
     flxRecord *record;
+    flxAddress address;
+    gboolean address_valid;
     gboolean done;
     GTimeVal delivery;
     FLX_LLIST_FIELDS(flxResponseJob, jobs);
@@ -50,10 +52,11 @@ flxPacketScheduler *flx_packet_scheduler_new(flxServer *server, flxInterface *i)
 void flx_packet_scheduler_free(flxPacketScheduler *s);
 
 void flx_packet_scheduler_post_query(flxPacketScheduler *s, flxKey *key, gboolean immediately);
-void flx_packet_scheduler_post_response(flxPacketScheduler *s, flxRecord *record, gboolean immediately);
+void flx_packet_scheduler_post_response(flxPacketScheduler *s, const flxAddress *a, flxRecord *record, gboolean immediately);
 
 void flx_packet_scheduler_incoming_query(flxPacketScheduler *s, flxKey *key);
 void flx_packet_scheduler_incoming_response(flxPacketScheduler *s, flxRecord *record);
+void flx_packet_scheduler_incoming_known_answer(flxPacketScheduler *s, flxRecord *record, const flxAddress *a);
 
 void flx_packet_scheduler_flush_responses(flxPacketScheduler *s);