diff options
author | Lennart Poettering <lennart@poettering.net> | 2005-04-14 01:41:09 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2005-04-14 01:41:09 +0000 |
commit | 0a985aa6c5453fe09bf0a3a79fe66d49c698b309 (patch) | |
tree | 6ce11667f3d215a8dfeba11589b081ca29414557 /psched.h | |
parent | fc174c871b4f85e558766c1ca55661fa7b1b4c9a (diff) |
add client part of probing
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@25 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'psched.h')
-rw-r--r-- | psched.h | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -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); |