4 typedef struct _flxQueryJob flxQueryJob;
5 typedef struct _flxResponseJob flxResponseJob;
6 typedef struct _flxPacketScheduler flxPacketScheduler;
8 #include "timeeventq.h"
14 flxPacketScheduler *scheduler;
15 flxTimeEvent *time_event;
18 FLX_LLIST_FIELDS(flxQueryJob, jobs);
21 struct _flxResponseJob {
22 flxPacketScheduler *scheduler;
23 flxTimeEvent *time_event;
26 FLX_LLIST_FIELDS(flxResponseJob, jobs);
29 struct _flxPacketScheduler {
32 flxInterface *interface;
34 FLX_LLIST_HEAD(flxQueryJob, query_jobs);
35 FLX_LLIST_HEAD(flxResponseJob, response_jobs);
38 flxPacketScheduler *flx_packet_scheduler_new(flxServer *server, flxInterface *i);
39 void flx_packet_scheduler_free(flxPacketScheduler *s);
41 void flx_packet_scheduler_post_query(flxPacketScheduler *s, flxKey *key);
42 void flx_packet_scheduler_post_response(flxPacketScheduler *s, flxRecord *record);
44 void flx_packet_scheduler_drop_query(flxPacketScheduler *s, flxKey *key);
45 void flx_packet_scheduler_drop_response(flxPacketScheduler *s, flxRecord *record);