return;
}
- struct Entry e(qname, std::move(responsePacket), std::move(query), tcp);
- e.d_qhash = qhash;
- e.d_type = qtype;
- e.d_class = qclass;
- e.d_ttd = now + ttl;
- e.d_creation = now;
- e.d_tag = tag;
- e.d_vstate = valState;
+ struct Entry e(qname, qtype, qclass, std::move(responsePacket), std::move(query), tcp, qhash, now + ttl, now, tag, valState);
if (pbdata) {
e.d_pbdata = std::move(*pbdata);
}
};
struct Entry
{
- Entry(const DNSName& qname, std::string&& packet, std::string&& query, bool tcp) :
- d_name(qname), d_packet(std::move(packet)), d_query(std::move(query)), d_tcp(tcp)
+ Entry(const DNSName& qname, uint16_t qtype, uint16_t qclass, std::string&& packet, std::string&& query, bool tcp,
+ uint32_t qhash, time_t ttd, time_t now, uint32_t tag, vState vstate) :
+ d_name(qname), d_packet(std::move(packet)), d_query(std::move(query)), d_ttd(ttd), d_creation(now),
+ d_qhash(qhash), d_tag(tag), d_type(qtype), d_class(qclass), d_vstate(vstate), d_tcp(tcp)
{
}
struct CacheEntry
{
CacheEntry(const std::tuple<DNSName, QType, OptTag, Netmask>& key, bool auth) :
- d_qname(std::get<0>(key)), d_netmask(std::get<3>(key).getNormalized()), d_rtag(std::get<2>(key)), d_state(vState::Indeterminate), d_ttd(0), d_qtype(std::get<1>(key)), d_auth(auth), d_submitted(false)
+ d_qname(std::get<0>(key)), d_netmask(std::get<3>(key).getNormalized()), d_rtag(std::get<2>(key)), d_state(vState::Indeterminate), d_ttd(0), d_orig_ttl{0}, d_qtype(std::get<1>(key)), d_auth(auth), d_submitted(false)
{
}