#include <glib.h>
-struct _AvahiCache;
-typedef struct _AvahiCache AvahiCache;
+typedef struct AvahiCache AvahiCache;
#include "prioq.h"
#include "server.h"
AvahiRecord *record;
GTimeVal timestamp;
GTimeVal expiry;
+ gboolean cache_flush;
AvahiAddress origin;
AVAHI_LLIST_FIELDS(AvahiCacheEntry, entry);
};
-struct _AvahiCache {
+struct AvahiCache {
AvahiServer *server;
AvahiInterface *interface;
GHashTable *hash_table;
AVAHI_LLIST_HEAD(AvahiCacheEntry, entries);
+
+ guint n_entries;
};
AvahiCache *avahi_cache_new(AvahiServer *server, AvahiInterface *interface);
AvahiCacheEntry *avahi_cache_lookup_key(AvahiCache *c, AvahiKey *k);
AvahiCacheEntry *avahi_cache_lookup_record(AvahiCache *c, AvahiRecord *r);
-void avahi_cache_update(AvahiCache *c, AvahiRecord *r, gboolean unique, const AvahiAddress *a);
-
-void avahi_cache_drop_record(AvahiCache *c, AvahiRecord *r);
+void avahi_cache_update(AvahiCache *c, AvahiRecord *r, gboolean cache_flush, const AvahiAddress *a);
void avahi_cache_dump(AvahiCache *c, FILE *f);
gboolean avahi_cache_entry_half_ttl(AvahiCache *c, AvahiCacheEntry *e);
+void avahi_cache_flush(AvahiCache *c);
+
#endif