#include "browse.h"
#include "util.h"
+#include "log.h"
struct AvahiRecordBrowser {
gboolean dead;
AvahiKey *key;
gint interface;
guchar protocol;
- gint n_query;
guint sec_delay;
AvahiTimeEvent *time_event;
static void elapse(AvahiTimeEvent *e, void *userdata) {
AvahiRecordBrowser *s = userdata;
GTimeVal tv;
-/* gchar *t; */
+/* gchar *t; */
g_assert(s);
avahi_server_post_query(s->server, s->interface, s->protocol, s->key);
- if (s->n_query++ <= 8)
- s->sec_delay *= 2;
-
-/* avahi_log_debug("%i. Continuous querying for %s", s->n_query, t = avahi_key_to_string(s->key)); */
-/* g_free(t); */
+ s->sec_delay *= 2;
+
+ if (s->sec_delay >= 60*60) /* 1h */
+ s->sec_delay = 60*60;
+
+/* avahi_log_debug("Continuous querying for %s (%i)", t = avahi_key_to_string(s->key), s->sec_delay); */
+/* g_free(t); */
avahi_elapse_time(&tv, s->sec_delay*1000, 0);
avahi_time_event_queue_update(s->server->time_event_queue, s->time_event, &tv);
b->protocol = protocol;
b->callback = callback;
b->userdata = userdata;
- b->n_query = 1;
b->sec_delay = 1;
avahi_server_post_query(b->server, b->interface, b->protocol, b->key);