Async 1.8.0
|
The base class for representing a DNS resource record. More...
#include <AsyncDnsResourceRecord.h>
Public Types | |
enum class | Type { ANY , A , PTR , CNAME , SRV , A , PTR , CNAME , SRV } |
The record type. More... | |
enum class | Class { IN , IN } |
The record class. More... | |
enum class | Type { ANY , A , PTR , CNAME , SRV , A , PTR , CNAME , SRV } |
enum class | Class { IN , IN } |
using | Name = std::string |
using | Ttl = uint32_t |
using | List = std::vector<std::unique_ptr<DnsResourceRecord>> |
The type for a list of resource records. | |
Public Member Functions | |
DnsResourceRecord (const Name &name, Ttl ttl) | |
Constructor. | |
virtual | ~DnsResourceRecord (void) |
Destructor. | |
virtual DnsResourceRecord * | clone (void) const =0 |
Clone this class. | |
virtual bool | operator== (const DnsResourceRecord &other) const |
Equality comparison operator. | |
Class | classId (void) const |
The DNS class for the record. | |
const char * | classStr (void) const |
The DNS class for the record as a string. | |
virtual const Type | type (void) const =0 |
The type of record. | |
const std::string & | typeStr (void) const |
The type of record as a string. | |
virtual std::string | toString (void) const |
The string representation of this record. | |
void | setName (const Name &name) |
Set the name for this record. | |
const Name & | name (void) const |
The name of this record. | |
void | setTtl (Ttl ttl) |
Set the TTL for this record. | |
Ttl | ttl (void) const |
The TTL for this record. | |
DnsResourceRecord (const std::string &name, uint32_t ttl) | |
Default constructor. | |
DnsResourceRecord (const DnsResourceRecord &)=delete | |
Disallow copy construction. | |
DnsResourceRecord & | operator= (const DnsResourceRecord &)=delete |
Disallow copy assignment. | |
virtual | ~DnsResourceRecord (void) |
Destructor. | |
Class | classId (void) const |
A_brief_member_function_description. | |
const char * | classStr (void) const |
virtual const Type | type (void) const =0 |
const std::string & | typeStr (void) const |
virtual std::string | toString (void) const |
void | setName (const std::string &name) |
const std::string & | name (void) const |
void | setTtl (uint32_t ttl) |
uint32_t | ttl (void) const |
Static Public Member Functions | |
static const Type | staticType (void) |
The type for this specific class. | |
static const std::string & | typeToString (Type type) |
The type for this specific class represented as a string. | |
static const std::string & | typeToString (Type type) |
Static Public Attributes | |
static constexpr Ttl | MAX_TTL = 0x7fffffff |
The maximum allowed value for a TTL. | |
The base class for representing a DNS resource record.
A_brief_class_description.
This is the base class for representing a DNS resource record. One or more resource records is the result of performing a DNS query.
A_detailed_class_description
Definition at line 120 of file AsyncResourceRecord.h.
using Async::DnsResourceRecord::List = std::vector<std::unique_ptr<DnsResourceRecord>> |
The type for a list of resource records.
Definition at line 138 of file AsyncDnsResourceRecord.h.
using Async::DnsResourceRecord::Name = std::string |
Definition at line 122 of file AsyncDnsResourceRecord.h.
using Async::DnsResourceRecord::Ttl = uint32_t |
Definition at line 123 of file AsyncDnsResourceRecord.h.
|
strong |
|
strong |
Enumerator | |
---|---|
IN | |
IN |
Definition at line 124 of file AsyncResourceRecord.h.
|
strong |
The record type.
Enumerator | |
---|---|
ANY | |
A | |
PTR | |
CNAME | |
SRV | |
A | |
PTR | |
CNAME | |
SRV |
Definition at line 128 of file AsyncDnsResourceRecord.h.
|
strong |
Enumerator | |
---|---|
ANY | |
A | |
PTR | |
CNAME | |
SRV | |
A | |
PTR | |
CNAME | |
SRV |
Definition at line 123 of file AsyncResourceRecord.h.
Constructor.
name | The name of this record |
ttl | The time-to-live, in seconds, for this record |
Definition at line 173 of file AsyncDnsResourceRecord.h.
|
inlinevirtual |
Destructor.
Definition at line 179 of file AsyncDnsResourceRecord.h.
|
inline |
Default constructor.
Definition at line 144 of file AsyncResourceRecord.h.
|
delete |
Disallow copy construction.
|
inlinevirtual |
Destructor.
Definition at line 160 of file AsyncResourceRecord.h.
|
inline |
The DNS class for the record.
Definition at line 205 of file AsyncDnsResourceRecord.h.
References IN.
Referenced by operator==().
|
inline |
A_brief_member_function_description.
param1 | Description_of_param1 |
Definition at line 167 of file AsyncResourceRecord.h.
References IN.
|
inline |
The DNS class for the record as a string.
Definition at line 211 of file AsyncDnsResourceRecord.h.
Referenced by toString().
|
inline |
Definition at line 168 of file AsyncResourceRecord.h.
|
pure virtual |
Clone this class.
Implemented in Async::DnsResourceRecordCRTP< Derived >, Async::DnsResourceRecordCRTP< DnsResourceRecordA >, Async::DnsResourceRecordCRTP< DnsResourceRecordCNAME >, Async::DnsResourceRecordCRTP< DnsResourceRecordPTR >, and Async::DnsResourceRecordCRTP< DnsResourceRecordSRV >.
|
inline |
The name of this record.
Definition at line 250 of file AsyncDnsResourceRecord.h.
Referenced by operator==(), setName(), setName(), and toString().
|
inline |
Definition at line 185 of file AsyncResourceRecord.h.
|
delete |
Disallow copy assignment.
|
inlinevirtual |
Equality comparison operator.
other | The other resource record to comapare to |
NOTE: The TTL is not used in the comparison.
Reimplemented in Async::DnsResourceRecordCRTP< Derived >, Async::DnsResourceRecordCRTP< DnsResourceRecordA >, Async::DnsResourceRecordCRTP< DnsResourceRecordCNAME >, Async::DnsResourceRecordCRTP< DnsResourceRecordPTR >, and Async::DnsResourceRecordCRTP< DnsResourceRecordSRV >.
Definition at line 194 of file AsyncDnsResourceRecord.h.
References classId(), name(), and type().
Referenced by Async::DnsResourceRecordA::operator==(), Async::DnsResourceRecordCNAME::operator==(), Async::DnsResourceRecordPTR::operator==(), and Async::DnsResourceRecordSRV::operator==().
|
inline |
Set the name for this record.
name | the new name of the record |
Definition at line 244 of file AsyncDnsResourceRecord.h.
References name().
|
inline |
Definition at line 184 of file AsyncResourceRecord.h.
References name().
|
inline |
Set the TTL for this record.
ttl | The time-to-live, in seconds, for this record |
Definition at line 256 of file AsyncDnsResourceRecord.h.
References ttl().
|
inline |
Definition at line 187 of file AsyncResourceRecord.h.
References ttl().
|
inlinestatic |
The type for this specific class.
Definition at line 148 of file AsyncDnsResourceRecord.h.
References ANY.
|
inlinevirtual |
The string representation of this record.
Reimplemented in Async::DnsResourceRecordA, Async::DnsResourceRecordA, Async::DnsResourceRecordCNAME, Async::DnsResourceRecordCNAME, Async::DnsResourceRecordPTR, Async::DnsResourceRecordPTR, Async::DnsResourceRecordSRV, and Async::DnsResourceRecordSRV.
Definition at line 232 of file AsyncDnsResourceRecord.h.
References classStr(), name(), ttl(), and typeStr().
Referenced by Async::DnsResourceRecordA::toString(), Async::DnsResourceRecordCNAME::toString(), Async::DnsResourceRecordPTR::toString(), and Async::DnsResourceRecordSRV::toString().
|
inlinevirtual |
Reimplemented in Async::DnsResourceRecordA, Async::DnsResourceRecordA, Async::DnsResourceRecordCNAME, Async::DnsResourceRecordCNAME, Async::DnsResourceRecordPTR, Async::DnsResourceRecordPTR, Async::DnsResourceRecordSRV, and Async::DnsResourceRecordSRV.
Definition at line 176 of file AsyncResourceRecord.h.
References classStr(), name(), ttl(), and typeStr().
|
inline |
The TTL for this record.
Definition at line 262 of file AsyncDnsResourceRecord.h.
Referenced by setTtl(), setTtl(), and toString().
|
inline |
Definition at line 188 of file AsyncResourceRecord.h.
|
pure virtual |
The type of record.
Implemented in Async::DnsResourceRecordA, Async::DnsResourceRecordCNAME, Async::DnsResourceRecordCRTP< Derived >, Async::DnsResourceRecordCRTP< DnsResourceRecordA >, Async::DnsResourceRecordCRTP< DnsResourceRecordCNAME >, Async::DnsResourceRecordCRTP< DnsResourceRecordPTR >, Async::DnsResourceRecordCRTP< DnsResourceRecordSRV >, Async::DnsResourceRecordPTR, and Async::DnsResourceRecordSRV.
Referenced by operator==(), typeStr(), and typeToString().
|
pure virtual |
Implemented in Async::DnsResourceRecordA, Async::DnsResourceRecordCNAME, Async::DnsResourceRecordCRTP< Derived >, Async::DnsResourceRecordCRTP< DnsResourceRecordA >, Async::DnsResourceRecordCRTP< DnsResourceRecordCNAME >, Async::DnsResourceRecordCRTP< DnsResourceRecordPTR >, Async::DnsResourceRecordCRTP< DnsResourceRecordSRV >, Async::DnsResourceRecordPTR, and Async::DnsResourceRecordSRV.
|
inline |
The type of record as a string.
Definition at line 223 of file AsyncDnsResourceRecord.h.
References type(), and typeToString().
Referenced by toString().
|
inline |
Definition at line 171 of file AsyncResourceRecord.h.
References type(), and typeToString().
|
inlinestatic |
The type for this specific class represented as a string.
Definition at line 153 of file AsyncDnsResourceRecord.h.
References A, CNAME, PTR, SRV, and type().
Referenced by Async::DnsLookup::typeStr(), and typeStr().
|
inlinestatic |
|
staticconstexpr |
The maximum allowed value for a TTL.
Definition at line 143 of file AsyncDnsResourceRecord.h.