Kea  1.9.9-git
isc::dns::MessageImpl Class Reference

Public Member Functions

 MessageImpl (Message::Mode mode)
 
void addEDNS (Message::Section section, const Name &name, const RRClass &rrclass, const RRType &rrtype, const RRTTL &ttl, const Rdata &rdata)
 
void addRR (Message::Section section, const Name &name, const RRClass &rrclass, const RRType &rrtype, const RRTTL &ttl, ConstRdataPtr rdata, Message::ParseOptions options)
 
void addRR (Message::Section section, const Name &name, const RRClass &rrclass, const RRType &rrtype, const RRTTL &ttl, Message::ParseOptions options)
 
void addTSIG (Message::Section section, unsigned int count, const InputBuffer &buffer, size_t start_position, const Name &name, const RRClass &rrclass, const RRTTL &ttl, const Rdata &rdata)
 
void init ()
 
int parseQuestion (InputBuffer &buffer)
 
int parseSection (const Message::Section section, InputBuffer &buffer, Message::ParseOptions options)
 
void setOpcode (const Opcode &opcode)
 
void setRcode (const Rcode &rcode)
 
void toWire (AbstractMessageRenderer &renderer, TSIGContext *tsig_ctx)
 

Public Attributes

int counts_ [NUM_SECTIONS]
 
ConstEDNSPtr edns_
 
uint16_t flags_
 
bool header_parsed_
 
Message::Mode mode_
 
const Opcodeopcode_
 
Opcode opcode_placeholder_
 
qid_t qid_
 
vector< QuestionPtrquestions_
 
const Rcodercode_
 
Rcode rcode_placeholder_
 
vector< RRsetPtrrrsets_ [NUM_SECTIONS]
 
ConstTSIGRecordPtr tsig_rr_
 

Static Public Attributes

static const unsigned int NUM_SECTIONS = 4
 

Detailed Description

Definition at line 88 of file dns/message.cc.

Constructor & Destructor Documentation

isc::dns::MessageImpl::MessageImpl ( Message::Mode  mode)

Definition at line 142 of file dns/message.cc.

References init().

+ Here is the call graph for this function:

Member Function Documentation

void isc::dns::MessageImpl::addEDNS ( Message::Section  section,
const Name name,
const RRClass rrclass,
const RRType rrtype,
const RRTTL ttl,
const Rdata rdata 
)

Definition at line 820 of file dns/message.cc.

References isc::dns::createEDNSFromRR(), edns_, isc::dns::Rcode::getCode(), isc_throw, rcode_, isc::dns::Message::SECTION_ADDITIONAL, and setRcode().

Referenced by parseSection().

+ Here is the call graph for this function:

void isc::dns::MessageImpl::addRR ( Message::Section  section,
const Name name,
const RRClass rrclass,
const RRType rrtype,
const RRTTL ttl,
ConstRdataPtr  rdata,
Message::ParseOptions  options 
)

Definition at line 781 of file dns/message.cc.

References isc::dns::Message::PRESERVE_ORDER, and rrsets_.

Referenced by parseSection().

void isc::dns::MessageImpl::addRR ( Message::Section  section,
const Name name,
const RRClass rrclass,
const RRType rrtype,
const RRTTL ttl,
Message::ParseOptions  options 
)

Definition at line 802 of file dns/message.cc.

References isc::dns::Message::PRESERVE_ORDER, and rrsets_.

void isc::dns::MessageImpl::addTSIG ( Message::Section  section,
unsigned int  count,
const InputBuffer buffer,
size_t  start_position,
const Name name,
const RRClass rrclass,
const RRTTL ttl,
const Rdata rdata 
)

Definition at line 839 of file dns/message.cc.

References counts_, isc::util::InputBuffer::getPosition(), isc_throw, isc::dns::Message::SECTION_ADDITIONAL, and tsig_rr_.

Referenced by parseSection().

+ Here is the call graph for this function:

int isc::dns::MessageImpl::parseQuestion ( InputBuffer buffer)
void isc::dns::MessageImpl::setOpcode ( const Opcode opcode)

Definition at line 171 of file dns/message.cc.

References opcode_, and opcode_placeholder_.

Referenced by isc::dns::Message::parseHeader(), and isc::dns::Message::setOpcode().

void isc::dns::MessageImpl::setRcode ( const Rcode rcode)

Definition at line 177 of file dns/message.cc.

References rcode_, and rcode_placeholder_.

Referenced by addEDNS(), isc::dns::Message::parseHeader(), and isc::dns::Message::setRcode().

Member Data Documentation

bool isc::dns::MessageImpl::header_parsed_

Definition at line 107 of file dns/message.cc.

Referenced by init(), and isc::dns::Message::parseHeader().

const Opcode* isc::dns::MessageImpl::opcode_
Opcode isc::dns::MessageImpl::opcode_placeholder_

Definition at line 103 of file dns/message.cc.

Referenced by setOpcode().

const Rcode* isc::dns::MessageImpl::rcode_
Rcode isc::dns::MessageImpl::rcode_placeholder_

Definition at line 101 of file dns/message.cc.

Referenced by setRcode().

ConstTSIGRecordPtr isc::dns::MessageImpl::tsig_rr_

The documentation for this class was generated from the following file: