diff options
author | Lennart Poettering <lennart@poettering.net> | 2005-01-04 23:52:38 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2005-01-04 23:52:38 +0000 |
commit | 927f8b06fe3550f45c8d7b119acaa77d9b22888c (patch) | |
tree | 928ee1ffcd06abd4966f2bed4e7966c4b92afe8d /server.h | |
parent | 4de18a7015ed77eac277bee669d4c8d9dae60b89 (diff) |
some work
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@6 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'server.h')
-rw-r--r-- | server.h | 26 |
1 files changed, 12 insertions, 14 deletions
@@ -3,6 +3,7 @@ #include "flx.h" #include "iface.h" +#include "prioq.h" struct _flxEntry; typedef struct _flxEntry flxEntry; @@ -21,31 +22,29 @@ struct _flxEntry { typedef struct _flxQueryJob { gint ref; + GTimeVal time; flxQuery query; } flxQueryJob; -struct _flxQueryJobInstance; -typedef struct _flxQueryJobInstance flxQueryJobInstance; -struct _flxQueryJobInstance { +typedef struct _flxQueryJobInstance { + flxPrioQueueNode *node; flxQueryJob *job; gint interface; guchar protocol; - flxQueryJobInstance *next, *prev; -}; +} flxQueryJobInstance; typedef struct _flxResponseJob { gint ref; + GTimeVal time; flxRecord response; } flxResponseJob; -struct _flxResponseJobInstance; -typedef struct _flxResponseJobInstance flxResponseJobInstance; -struct _flxResponseJobInstance { +typedef struct _flxResponseJobInstance { + flxPrioQueueNode *node; flxResponseJob *job; gint interface; guchar protocol; - flxResponseJob *next, *prev; -}; +} flxResponseJobInstance; struct _flxServer { GMainContext *context; @@ -58,20 +57,19 @@ struct _flxServer { flxEntry *entries; - flxResponseJobInstance *first_response_job, *last_response_job; - flxQueryJobInstance *first_query_job, *last_query_job; + flxPrioQueue *query_job_queue; + flxPrioQueue *response_job_queue; }; flxQueryJob* flx_query_job_new(void); flxQueryJob* flx_query_job_ref(flxQueryJob *job); void flx_query_job_unref(flxQueryJob *job); -void flx_server_post_query_job(flxServer *s, gint interface, guchar protocol, const flxQuery *q); +void flx_server_post_query_job(flxServer *s, gint interface, guchar protocol, const GTimeVal *tv, const flxQuery *q); void flx_server_drop_query_job(flxServer *s, gint interface, guchar protocol, const flxQuery *q); void flx_server_remove_query_job_instance(flxServer *s, flxQueryJobInstance *i); gboolean flx_query_equal(const flxQuery *a, const flxQuery *b); - #endif |