1 #ifndef fooflxserverhfoo
2 #define fooflxserverhfoo
5 typedef struct _flxEntry flxEntry;
19 flxEntry *next, *prev;
20 flxEntry *next_by_name, *prev_by_name;
21 flxEntry *next_by_id, *prev_by_id;
24 typedef struct _flxQueryJob {
30 typedef struct _flxQueryJobInstance {
31 flxPrioQueueNode *node;
35 } flxQueryJobInstance;
37 typedef struct _flxResponseJob {
43 typedef struct _flxResponseJobInstance {
44 flxPrioQueueNode *node;
48 } flxResponseJobInstance;
51 GMainContext *context;
52 flxInterfaceMonitor *monitor;
56 GHashTable *rrset_by_id;
57 GHashTable *rrset_by_name;
61 flxPrioQueue *query_job_queue;
62 flxPrioQueue *response_job_queue;
69 flxQueryJob* flx_query_job_new(void);
70 flxQueryJob* flx_query_job_ref(flxQueryJob *job);
71 void flx_query_job_unref(flxQueryJob *job);
73 void flx_server_post_query_job(flxServer *s, gint interface, guchar protocol, const GTimeVal *tv, const flxQuery *q);
74 void flx_server_drop_query_job(flxServer *s, gint interface, guchar protocol, const flxQuery *q);
76 void flx_server_remove_query_job_instance(flxServer *s, flxQueryJobInstance *i);
78 gboolean flx_query_equal(const flxQuery *a, const flxQuery *b);