Kea  1.9.9-git
isc::dns::MessageRenderer::MessageRendererImpl Struct Reference

The MessageRendererImpl class is the actual implementation of MessageRenderer. More...

Public Member Functions

 MessageRendererImpl ()
 Constructor. More...
 
void addOffset (size_t hash, size_t offset, size_t len)
 
uint16_t findOffset (const OutputBuffer &buffer, InputBuffer &name_buf, size_t hash, bool case_sensitive) const
 

Public Attributes

CompressMode compress_mode_
 The name compression mode. More...
 
uint16_t msglength_limit_
 The maximum length of rendered data that can fit without truncation. More...
 
boost::array< size_t, Name::MAX_LABELSseq_hashes_
 
vector< OffsetItem > table_ [BUCKETS]
 
bool truncated_
 A boolean flag that indicates truncation has occurred while rendering the data. More...
 

Static Public Attributes

static const size_t BUCKETS = 64
 
static const uint16_t NO_OFFSET = 65535
 
static const size_t RESERVED_ITEMS = 16
 

Detailed Description

The MessageRendererImpl class is the actual implementation of MessageRenderer.

The implementation is hidden from applications. We can refer to specific members of this class only within the implementation source file.

It internally holds a hash table for OffsetItem objects corresponding to portions of names rendered in this renderer. The offset information is used to compress subsequent names to be rendered.

Definition at line 155 of file messagerenderer.cc.

Constructor & Destructor Documentation

isc::dns::MessageRenderer::MessageRendererImpl::MessageRendererImpl ( )
inline

Constructor.

Definition at line 165 of file messagerenderer.cc.

Member Function Documentation

void isc::dns::MessageRenderer::MessageRendererImpl::addOffset ( size_t  hash,
size_t  offset,
size_t  len 
)
inline

Definition at line 200 of file messagerenderer.cc.

Referenced by isc::dns::MessageRenderer::writeName().

uint16_t isc::dns::MessageRenderer::MessageRendererImpl::findOffset ( const OutputBuffer buffer,
InputBuffer name_buf,
size_t  hash,
bool  case_sensitive 
) const
inline

Definition at line 175 of file messagerenderer.cc.

Referenced by isc::dns::MessageRenderer::writeName().

Member Data Documentation

const size_t isc::dns::MessageRenderer::MessageRendererImpl::BUCKETS = 64
static

Definition at line 160 of file messagerenderer.cc.

Referenced by isc::dns::MessageRenderer::clear().

CompressMode isc::dns::MessageRenderer::MessageRendererImpl::compress_mode_
uint16_t isc::dns::MessageRenderer::MessageRendererImpl::msglength_limit_

The maximum length of rendered data that can fit without truncation.

Definition at line 208 of file messagerenderer.cc.

Referenced by isc::dns::MessageRenderer::clear(), isc::dns::MessageRenderer::getLengthLimit(), and isc::dns::MessageRenderer::setLengthLimit().

const uint16_t isc::dns::MessageRenderer::MessageRendererImpl::NO_OFFSET = 65535
static

Definition at line 162 of file messagerenderer.cc.

Referenced by isc::dns::MessageRenderer::writeName().

const size_t isc::dns::MessageRenderer::MessageRendererImpl::RESERVED_ITEMS = 16
static

Definition at line 161 of file messagerenderer.cc.

Referenced by isc::dns::MessageRenderer::clear().

boost::array<size_t, Name::MAX_LABELS> isc::dns::MessageRenderer::MessageRendererImpl::seq_hashes_

Definition at line 218 of file messagerenderer.cc.

Referenced by isc::dns::MessageRenderer::writeName().

vector<OffsetItem> isc::dns::MessageRenderer::MessageRendererImpl::table_[BUCKETS]

Definition at line 205 of file messagerenderer.cc.

Referenced by isc::dns::MessageRenderer::clear().

bool isc::dns::MessageRenderer::MessageRendererImpl::truncated_

A boolean flag that indicates truncation has occurred while rendering the data.

Definition at line 211 of file messagerenderer.cc.

Referenced by isc::dns::MessageRenderer::clear(), isc::dns::MessageRenderer::isTruncated(), and isc::dns::MessageRenderer::setTruncated().


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