]> git.meshlink.io Git - catta/blobdiff - avahi-core/cache.c
* implement reflection (including legacy unicast reflection)
[catta] / avahi-core / cache.c
index c5e7e319e9bcc6ece613238bf0fc646db57b2bf8..433f5a8faa1220d92d11debcf3d8b0638a2559e9 100644 (file)
@@ -230,7 +230,7 @@ static void expire_in_one_second(AvahiCache *c, AvahiCacheEntry *e) {
     update_time_event(c, e);
 }
 
-void avahi_cache_update(AvahiCache *c, AvahiRecord *r, gboolean unique, const AvahiAddress *a) {
+void avahi_cache_update(AvahiCache *c, AvahiRecord *r, gboolean cache_flush, const AvahiAddress *a) {
 /*     gchar *txt; */
     
     g_assert(c);
@@ -257,7 +257,7 @@ void avahi_cache_update(AvahiCache *c, AvahiRecord *r, gboolean unique, const Av
 
         if ((first = avahi_cache_lookup_key(c, r->key))) {
             
-            if (unique) {
+            if (cache_flush) {
 
                 /* For unique entries drop all entries older than one second */
                 for (e = first; e; e = e->by_key_next) {
@@ -288,7 +288,7 @@ void avahi_cache_update(AvahiCache *c, AvahiRecord *r, gboolean unique, const Av
             /* Update the record */
             avahi_record_unref(e->record);
             e->record = avahi_record_ref(r);
-            
+
         } else {
             /* No entry found, therefore we create a new one */
             
@@ -314,6 +314,7 @@ void avahi_cache_update(AvahiCache *c, AvahiRecord *r, gboolean unique, const Av
         e->timestamp = now;
         next_expiry(c, e, 80);
         e->state = AVAHI_CACHE_VALID;
+        e->cache_flush = cache_flush;
     }
 }