1#if defined(HAVE_CONFIG_H)
17#include <arpa/nameser.h>
40#define RESIPROCATE_SUBSYSTEM resip::Subsystem::DNS
48 : mKey(key), mRRType(rrtype), mStatus(status)
54 : mKey(record.name()), mRRType(
T_A), mStatus(0), mAbsoluteExpiry(ULONG_MAX)
65 mRecords.push_back(item);
70 : mKey(key), mRRType(rrtype), mStatus(0), mAbsoluteExpiry(ULONG_MAX)
84 : mKey(key), mRRType(rrType), mStatus(0)
92 mAbsoluteExpiry = ULONG_MAX;
100 item.record = factory->
create(*it);
101 mRecords.push_back(item);
102 if ((
uint64_t)it->ttl() < mAbsoluteExpiry)
104 mAbsoluteExpiry = it->ttl();
113 if (mAbsoluteExpiry == ULONG_MAX || mAbsoluteExpiry < (
uint64_t)ttl)
115 mAbsoluteExpiry = ttl;
124 if (mRecords.empty())
return records;
126 for (std::vector<RecordItem>::iterator it = mRecords.begin(); it != mRecords.end(); ++it)
128 records.push_back((*it).record);
133RRList::RecordItr RRList::find(
const Data& value)
135 for (RecordItr it = mRecords.begin(); it != mRecords.end(); ++it)
137 if ((*it).record->isSameValue(value))
142 return mRecords.end();
147 for (RecordArr::iterator it = mRecords.begin(); it != mRecords.end(); ++it)
159 for (RecordArr::iterator it = mRecords.begin(); it != mRecords.end(); ++it)
162 strm << endl <<
" Record " << recNum <<
": ";
163 it->record->dump(strm);
static const char * dnsRRTypeToString(int rrtype)
The abstract base-class for all exceptions thrown by resip code.
const Data & getMessage() const noexcept
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
virtual DnsResourceRecord * create(const RROverlay &) const =0
std::vector< RROverlay >::const_iterator Itr
Records records(const int protocol)
EncodeStream & encodeRRList(EncodeStream &strm)
std::vector< DnsResourceRecord * > Records
void update(const DnsHostRecord &record, int ttl)
static uint64_t getTimeSecs()
Returns the current clock time in seconds.
This file is used to handle compatibility fixes/tweaks so reSIProcate can function on multiple platfo...
dcm! – add UnusedChecking(_enum) below;
unsigned long long uint64_t