return ids;
}
-void InternalQueryState::sendDelayedProtobufMessages() const
+InternalQueryState::~InternalQueryState()
{
#ifndef DISABLE_PROTOBUF
static thread_local string otPBBuf;
otPBBuf.clear();
- if (tracingEnabled) {
+ if (tracingEnabled && d_OTTracer != nullptr) {
pdns::ProtoZero::Message msg{otPBBuf};
msg.setOpenTelemetryData(d_OTTracer->getOTProtobuf());
}
InternalQueryState(const InternalQueryState& orig) = delete;
InternalQueryState& operator=(const InternalQueryState& orig) = delete;
+ ~InternalQueryState();
bool isXSK() const noexcept
{
#endif /* HAVE_XSK */
}
- void sendDelayedProtobufMessages() const;
-
InternalQueryState partialCloneForXFR() const;
std::optional<Netmask> subnet{std::nullopt}; // 40
void handleResponseSent(const InternalQueryState& ids, double udiff, const ComboAddress& client, const ComboAddress& backend, unsigned int size, const dnsheader& cleartextDH, dnsdist::Protocol outgoingProtocol, bool fromBackend)
{
handleResponseSent(ids.qname, ids.qtype, udiff, client, backend, size, cleartextDH, outgoingProtocol, ids.protocol, fromBackend);
- ids.sendDelayedProtobufMessages();
}
void handleResponseSent(const DNSName& qname, const QType& qtype, double udiff, const ComboAddress& client, const ComboAddress& backend, unsigned int size, const dnsheader& cleartextDH, dnsdist::Protocol outgoingProtocol, dnsdist::Protocol incomingProtocol, bool fromBackend)