summaryrefslogtreecommitdiffstats
path: root/server.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-01-04 23:52:38 +0000
committerLennart Poettering <lennart@poettering.net>2005-01-04 23:52:38 +0000
commit927f8b06fe3550f45c8d7b119acaa77d9b22888c (patch)
tree928ee1ffcd06abd4966f2bed4e7966c4b92afe8d /server.h
parent4de18a7015ed77eac277bee669d4c8d9dae60b89 (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.h26
1 files changed, 12 insertions, 14 deletions
diff --git a/server.h b/server.h
index f1a15fc..4134638 100644
--- a/server.h
+++ b/server.h
@@ -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