int PacketCache::get(DNSPacket *p, DNSPacket *cached)
{
extern StatBag S;
- if(!((d_hit+d_miss)%5000)) {
+ if(!((d_hit+d_miss)%15000)) {
cleanup();
}
bool packetMeritsRecursion=d_doRecursion && q->d.rd;
- insert(q->qdomain, q->qtype, PacketCache::PACKETCACHE, r->getString(), packetMeritsRecursion ? d_recursivettl : d_ttl); // XXX FIXME forgets meritsRecursion
+ insert(q->qdomain, q->qtype, PacketCache::PACKETCACHE, r->getString(), packetMeritsRecursion ? d_recursivettl : d_ttl, packetMeritsRecursion);
}
// universal key appears to be: qname, qtype, kind (packet, query cache), optionally zoneid, meritsRecursion
if(!ttl)
return;
- // cerr<<"Inserting qname '"<<qname<<"', cet: "<<(int)cet<<", value: '"<< (cet ? value : "PACKET") <<"', qtype: "<<qtype.getName()<<endl;
+ // cerr<<"Inserting qname '"<<qname<<"', cet: "<<(int)cet<<", value: '"<< (cet ? value : "PACKET") <<"', qtype: "<<qtype.getName()<<", ttl: "<<ttl<<endl;
CacheEntry val;
val.ttd=time(0)+ttl;
// cerr<<"Stopping!"<<endl;
break;
}
- // cerr<<"Will erase '"<<iter->qname<<"'\n";
+ // cerr<<"Will erase '"<<iter->qname<<"'\n";
delcount++;
}