g_message("Handling query: %s", txt = flx_key_to_string(k));
g_free(txt);
+ flx_packet_scheduler_incoming_query(i->scheduler, k);
+
for (e = g_hash_table_lookup(s->rrset_by_key, k); e; e = e->by_key_next)
if (flx_interface_match(i, e->interface, e->protocol))
- flx_interface_post_response(i, e->record);
+ flx_interface_post_response(i, e->record, FALSE);
}
static void handle_query(flxServer *s, flxDnsPacket *p, flxInterface *i, const flxAddress *a) {
flx_cache_update(i->cache, record, cache_flush, a);
- if (record->ttl != 0)
- flx_packet_scheduler_drop_response(i->scheduler, record);
+ flx_packet_scheduler_incoming_response(i->scheduler, record);
flx_record_unref(record);
}
}
g_assert(i);
g_assert(k);
- flx_interface_post_query(i, k);
+ flx_interface_post_query(i, k, FALSE);
}
void flx_server_post_query(flxServer *s, gint interface, guchar protocol, flxKey *key) {
g_assert(i);
g_assert(r);
- flx_interface_post_response(i, r);
+ flx_interface_post_response(i, r, FALSE);
}
void flx_server_post_response(flxServer *s, gint interface, guchar protocol, flxRecord *record) {