1 #ifndef fooflxserverhfoo
2 #define fooflxserverhfoo
9 typedef struct _flxEntry flxEntry;
18 flxEntry *next, *prev;
19 flxEntry *next_by_name, *prev_by_name;
20 flxEntry *next_by_id, *prev_by_id;
23 typedef struct _flxQueryJob {
29 typedef struct _flxQueryJobInstance {
30 flxPrioQueueNode *node;
34 } flxQueryJobInstance;
36 typedef struct _flxResponseJob {
42 typedef struct _flxResponseJobInstance {
43 flxPrioQueueNode *node;
47 } flxResponseJobInstance;
50 GMainContext *context;
51 flxInterfaceMonitor *monitor;
55 GHashTable *rrset_by_id;
56 GHashTable *rrset_by_name;
60 flxPrioQueue *query_job_queue;
61 flxPrioQueue *response_job_queue;
64 flxQueryJob* flx_query_job_new(void);
65 flxQueryJob* flx_query_job_ref(flxQueryJob *job);
66 void flx_query_job_unref(flxQueryJob *job);
68 void flx_server_post_query_job(flxServer *s, gint interface, guchar protocol, const GTimeVal *tv, const flxQuery *q);
69 void flx_server_drop_query_job(flxServer *s, gint interface, guchar protocol, const flxQuery *q);
71 void flx_server_remove_query_job_instance(flxServer *s, flxQueryJobInstance *i);
73 gboolean flx_query_equal(const flxQuery *a, const flxQuery *b);