*/
#pragma once
+#include <unordered_map>
+
#include "config.h"
#include "dnscrypt.hh"
#include "dnsname.hh"
#include "dnsdist-protocols.hh"
+#include "ednsextendederror.hh"
#include "gettime.hh"
#include "iputils.hh"
+#include "noinitvector.hh"
#include "uuid-utils.hh"
struct ClientState;
struct DOHUnitInterface;
+struct DOQUnit;
class DNSCryptQuery;
class DNSDistPacketCache;
std::unique_ptr<QTag> qTag{nullptr}; // 8
std::unique_ptr<PacketBuffer> d_packet{nullptr}; // Initial packet, so we can restart the query from the response path if needed // 8
std::unique_ptr<ProtoBufData> d_protoBufData{nullptr};
+ std::unique_ptr<EDNSExtendedError> d_extendedError{nullptr};
boost::optional<uint32_t> tempFailureTTL{boost::none}; // 8
ClientState* cs{nullptr}; // 8
std::unique_ptr<DOHUnitInterface> du; // 8
size_t d_proxyProtocolPayloadSize{0}; // 8
int32_t d_streamID{-1}; // 4
+ std::unique_ptr<DOQUnit> doqu{nullptr}; // 8
uint32_t cacheKey{0}; // 4
uint32_t cacheKeyNoECS{0}; // 4
// DoH-only */