flxPacketScheduler *scheduler;
flxTimeEvent *time_event;
flxRecord *record;
+ flxAddress address;
+ gboolean address_valid;
gboolean done;
GTimeVal delivery;
FLX_LLIST_FIELDS(flxResponseJob, jobs);
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);