Sese Framework  2.3.0
A cross-platform framework
Loading...
Searching...
No Matches
sese::net::dns::DnsPackage::Index Class Reference

DNS Package Compression Index. More...

#include <DnsPackage.h>

Classes

struct  CompressIndex
 

Public Member Functions

 Index ()=default
 

Private Types

using CompressMapping = std::set<uint16_t>
 

Private Member Functions

 Index (std::vector< Question > &questions, std::vector< Answer > &answers, std::vector< Authority > &authorities, std::vector< Additional > &additionals)
 
std::vector< CompressIndex * > getSortedIndexes (const std::set< uint16_t > &indexes)
 
void clearPos () const
 
std::string encodeWords (const std::string &fullname, const std::set< uint16_t > &indexes, uint16_t base_offset)
 

Static Private Member Functions

static void updatePos (std::vector< CompressIndex * > &indexes, uint16_t offset)
 

Private Attributes

std::vector< CompressIndexcompress_index
 
std::map< std::string, CompressMappingcompress_mapping
 

Friends

class DnsPackage
 

Detailed Description

DNS Package Compression Index.

Member Typedef Documentation

◆ CompressMapping

using sese::net::dns::DnsPackage::Index::CompressMapping = std::set<uint16_t>
private

Constructor & Destructor Documentation

◆ Index() [1/2]

DnsPackage::Index::Index ( std::vector< Question > & questions,
std::vector< Answer > & answers,
std::vector< Authority > & authorities,
std::vector< Additional > & additionals )
private

References BUILD_INDEX.

◆ Index() [2/2]

sese::net::dns::DnsPackage::Index::Index ( )
default

Member Function Documentation

◆ clearPos()

void DnsPackage::Index::clearPos ( ) const
private

◆ encodeWords()

std::string DnsPackage::Index::encodeWords ( const std::string & fullname,
const std::set< uint16_t > & indexes,
uint16_t base_offset )
private

◆ getSortedIndexes()

std::vector< DnsPackage::Index::CompressIndex * > DnsPackage::Index::getSortedIndexes ( const std::set< uint16_t > & indexes)
nodiscardprivate

References a, and b.

◆ updatePos()

void DnsPackage::Index::updatePos ( std::vector< CompressIndex * > & indexes,
uint16_t offset )
staticprivate

Friends And Related Symbol Documentation

◆ DnsPackage

friend class DnsPackage
friend

Member Data Documentation

◆ compress_index

std::vector<CompressIndex> sese::net::dns::DnsPackage::Index::compress_index
private

◆ compress_mapping

std::map<std::string, CompressMapping> sese::net::dns::DnsPackage::Index::compress_mapping
private

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