From 0a985aa6c5453fe09bf0a3a79fe66d49c698b309 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 14 Apr 2005 01:41:09 +0000 Subject: add client part of probing git-svn-id: file:///home/lennart/svn/public/avahi/trunk@25 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- psched.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'psched.h') diff --git a/psched.h b/psched.h index 7290265..9866f2f 100644 --- a/psched.h +++ b/psched.h @@ -5,6 +5,7 @@ typedef struct _flxQueryJob flxQueryJob; typedef struct _flxResponseJob flxResponseJob; typedef struct _flxPacketScheduler flxPacketScheduler; typedef struct _flxKnownAnswer flxKnownAnswer; +typedef struct _flxProbeJob flxProbeJob; #include "timeeventq.h" #include "rr.h" @@ -28,6 +29,7 @@ struct _flxResponseJob { gboolean address_valid; gboolean done; GTimeVal delivery; + gboolean flush_cache; FLX_LLIST_FIELDS(flxResponseJob, jobs); }; @@ -38,6 +40,17 @@ struct _flxKnownAnswer { FLX_LLIST_FIELDS(flxKnownAnswer, known_answer); }; +struct _flxProbeJob { + flxPacketScheduler *scheduler; + flxTimeEvent *time_event; + flxRecord *record; + + gboolean chosen; /* Use for packet assembling */ + GTimeVal delivery; + + FLX_LLIST_FIELDS(flxProbeJob, jobs); +}; + struct _flxPacketScheduler { flxServer *server; @@ -46,13 +59,15 @@ struct _flxPacketScheduler { FLX_LLIST_HEAD(flxQueryJob, query_jobs); FLX_LLIST_HEAD(flxResponseJob, response_jobs); FLX_LLIST_HEAD(flxKnownAnswer, known_answers); + FLX_LLIST_HEAD(flxProbeJob, probe_jobs); }; flxPacketScheduler *flx_packet_scheduler_new(flxServer *server, flxInterface *i); void flx_packet_scheduler_free(flxPacketScheduler *s); void flx_packet_scheduler_post_query(flxPacketScheduler *s, flxKey *key, gboolean immediately); -void flx_packet_scheduler_post_response(flxPacketScheduler *s, const flxAddress *a, flxRecord *record, gboolean immediately); +void flx_packet_scheduler_post_response(flxPacketScheduler *s, const flxAddress *a, flxRecord *record, gboolean flush_cache, gboolean immediately); +void flx_packet_scheduler_post_probe(flxPacketScheduler *s, flxRecord *record, gboolean immediately); void flx_packet_scheduler_incoming_query(flxPacketScheduler *s, flxKey *key); void flx_packet_scheduler_incoming_response(flxPacketScheduler *s, flxRecord *record); -- cgit