NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
ndn::Block Class Reference

Class representing a wire element of NDN-TLV packet format. More...

#include <block.hpp>

Inheritance diagram for ndn::Block:
Collaboration diagram for ndn::Block:

Classes

class  Error
 

Public Types

typedef std::vector< Blockelement_container
 
typedef element_container::iterator element_iterator
 
typedef element_container::const_iterator element_const_iterator
 

Public Member Functions

 Block ()
 Create an empty Block. More...
 
 Block (const EncodingBuffer &buffer)
 Create a Block based on EncodingBuffer object. More...
 
 Block (const ConstBufferPtr &buffer)
 Create a Block from the raw buffer with Type-Length parsing. More...
 
 Block (const ConstBufferPtr &buffer, const Buffer::const_iterator &begin, const Buffer::const_iterator &end, bool verifyLength=true)
 Create a Block from a buffer, directly specifying boundaries of the block within the buffer. More...
 
 Block (const Block &block, const Buffer::const_iterator &begin, const Buffer::const_iterator &end, bool verifyLength=true)
 Create a Block from existing block (reusing the underlying buffer), directly specifying boundaries of the block within the buffer. More...
 
 Block (const uint8_t *buffer, size_t maxlength)
 Create a Block from the raw buffer with Type-Length parsing. More...
 
 Block (const void *buffer, size_t maxlength)
 Create a Block from the raw buffer with Type-Length parsing. More...
 
 Block (const ConstBufferPtr &wire, uint32_t type, const Buffer::const_iterator &begin, const Buffer::const_iterator &end, const Buffer::const_iterator &valueBegin, const Buffer::const_iterator &valueEnd)
 Create a Block from the wire buffer (no parsing) More...
 
 Block (uint32_t type)
 Create Block of a specific type with empty wire buffer. More...
 
 Block (uint32_t type, const ConstBufferPtr &value)
 Create a Block of a specific type with the specified value. More...
 
 Block (uint32_t type, const Block &value)
 Create a nested Block of a specific type with the specified value. More...
 
bool empty () const
 Check if the Block is empty. More...
 
bool hasWire () const
 Check if the Block has fully encoded wire. More...
 
void reset ()
 Reset wire buffer of the element. More...
 
void resetWire ()
 Reset wire buffer but keep sub elements (if any) More...
 
Buffer::const_iterator begin () const
 
Buffer::const_iterator end () const
 
const uint8_t * wire () const
 
size_t size () const
 
uint32_t type () const
 
bool hasValue () const
 Check if the Block has value block (no type and length are encoded) More...
 
Buffer::const_iterator value_begin () const
 
Buffer::const_iterator value_end () const
 
const uint8_t * value () const
 
size_t value_size () const
 
void parse () const
 Parse wire buffer into subblocks. More...
 
void encode ()
 Encode subblocks into wire buffer. More...
 
const Blockget (uint32_t type) const
 Get the first subelement of the requested type. More...
 
element_const_iterator find (uint32_t type) const
 
void remove (uint32_t type)
 remove all subelements of type More...
 
element_iterator erase (element_const_iterator position)
 
element_iterator erase (element_const_iterator first, element_const_iterator last)
 
void push_back (const Block &element)
 
element_iterator insert (element_const_iterator pos, const Block &element)
 insert Insert a new element in a specific position More...
 
const element_containerelements () const
 Get all subelements. More...
 
element_const_iterator elements_begin () const
 
element_const_iterator elements_end () const
 
size_t elements_size () const
 
Block blockFromValue () const
 
shared_ptr< const BuffergetBuffer () const
 Get underlying buffer. More...
 
bool operator== (const Block &other) const
 
bool operator!= (const Block &other) const
 
 operator boost::asio::const_buffer () const
 

Static Public Member Functions

static Block fromStream (std::istream &is)
 Create a Block from an input stream. More...
 
static std::tuple< bool, BlockfromBuffer (ConstBufferPtr buffer, size_t offset)
 Try to construct block from Buffer. More...
 
static std::tuple< bool, BlockfromBuffer (const uint8_t *buffer, size_t maxSize)
 Try to construct block from raw buffer. More...
 

Protected Attributes

shared_ptr< const Bufferm_buffer
 
uint32_t m_type
 
Buffer::const_iterator m_begin
 
Buffer::const_iterator m_end
 
uint32_t m_size
 
Buffer::const_iterator m_value_begin
 
Buffer::const_iterator m_value_end
 
element_container m_subBlocks
 

Detailed Description

Class representing a wire element of NDN-TLV packet format.

Definition at line 43 of file block.hpp.

Member Typedef Documentation

◆ element_container

typedef std::vector<Block> ndn::Block::element_container

Definition at line 46 of file block.hpp.

◆ element_iterator

typedef element_container::iterator ndn::Block::element_iterator

Definition at line 47 of file block.hpp.

◆ element_const_iterator

typedef element_container::const_iterator ndn::Block::element_const_iterator

Definition at line 48 of file block.hpp.

Constructor & Destructor Documentation

◆ Block() [1/11]

ndn::Block::Block ( )

Create an empty Block.

Definition at line 48 of file block.cpp.

Referenced by blockFromValue(), fromBuffer(), ndn::name::Component::fromImplicitSha256Digest(), and parse().

◆ Block() [2/11]

ndn::Block::Block ( const EncodingBuffer &  buffer)
explicit

Create a Block based on EncodingBuffer object.

Definition at line 53 of file block.cpp.

References m_begin, m_end, m_type, m_value_begin, m_value_end, ndn::tlv::readType(), and ndn::tlv::readVarNumber().

◆ Block() [3/11]

ndn::Block::Block ( const ConstBufferPtr buffer)
explicit

Create a Block from the raw buffer with Type-Length parsing.

Definition at line 84 of file block.cpp.

References m_begin, m_end, m_type, m_value_begin, m_value_end, ndn::tlv::readType(), and ndn::tlv::readVarNumber().

◆ Block() [4/11]

ndn::Block::Block ( const ConstBufferPtr buffer,
const Buffer::const_iterator &  begin,
const Buffer::const_iterator &  end,
bool  verifyLength = true 
)

Create a Block from a buffer, directly specifying boundaries of the block within the buffer.

This overload will automatically detect type and position of the value within the block

Definition at line 102 of file block.cpp.

References m_begin, m_end, m_type, m_value_begin, m_value_end, ndn::tlv::readType(), and ndn::tlv::readVarNumber().

◆ Block() [5/11]

ndn::Block::Block ( const Block block,
const Buffer::const_iterator &  begin,
const Buffer::const_iterator &  end,
bool  verifyLength = true 
)

Create a Block from existing block (reusing the underlying buffer), directly specifying boundaries of the block within the buffer.

This overload will automatically detect type and position of the value within the block

Definition at line 122 of file block.cpp.

References m_begin, m_buffer, m_end, m_type, m_value_begin, m_value_end, ndn::tlv::readType(), and ndn::tlv::readVarNumber().

◆ Block() [6/11]

ndn::Block::Block ( const uint8_t *  buffer,
size_t  maxlength 
)

Create a Block from the raw buffer with Type-Length parsing.

Definition at line 147 of file block.cpp.

References m_begin, m_buffer, m_end, m_size, m_type, m_value_begin, m_value_end, ndn::tlv::readType(), and ndn::tlv::readVarNumber().

◆ Block() [7/11]

ndn::Block::Block ( const void *  buffer,
size_t  maxlength 
)

Create a Block from the raw buffer with Type-Length parsing.

Definition at line 170 of file block.cpp.

References m_begin, m_buffer, m_end, m_size, m_type, m_value_begin, m_value_end, ndn::tlv::readType(), and ndn::tlv::readVarNumber().

◆ Block() [8/11]

ndn::Block::Block ( const ConstBufferPtr wire,
uint32_t  type,
const Buffer::const_iterator &  begin,
const Buffer::const_iterator &  end,
const Buffer::const_iterator &  valueBegin,
const Buffer::const_iterator &  valueEnd 
)

Create a Block from the wire buffer (no parsing)

This overload does not do any parsing

Definition at line 70 of file block.cpp.

◆ Block() [9/11]

ndn::Block::Block ( uint32_t  type)
explicit

Create Block of a specific type with empty wire buffer.

Definition at line 195 of file block.cpp.

◆ Block() [10/11]

ndn::Block::Block ( uint32_t  type,
const ConstBufferPtr value 
)

Create a Block of a specific type with the specified value.

The underlying buffer holds only value Additional operations are needed to construct wire encoding, one need to prepend the wire buffer with type and value-length VAR-NUMBERs

Definition at line 200 of file block.cpp.

References m_size, m_type, ndn::tlv::sizeOfVarNumber(), and value_size().

◆ Block() [11/11]

ndn::Block::Block ( uint32_t  type,
const Block value 
)

Create a nested Block of a specific type with the specified value.

The underlying buffer holds only value. Additional operations are needed to construct wire encoding, one need to prepend the wire buffer with type and value-length VAR-NUMBERs

Definition at line 211 of file block.cpp.

References m_size, m_type, ndn::tlv::sizeOfVarNumber(), and value_size().

Member Function Documentation

◆ fromStream()

Block ndn::Block::fromStream ( std::istream &  is)
static

◆ fromBuffer() [1/2]

std::tuple< bool, Block > ndn::Block::fromBuffer ( ConstBufferPtr  buffer,
size_t  offset 
)
static

Try to construct block from Buffer.

Parameters
bufferthe buffer to construct block from
Note
buffer is passed by value because the constructed block takes shared ownership of the buffer
Parameters
offsetoffset from beginning of buffer to construct Block from

This method does not throw upon decoding error. This method does not copy the bytes.

Returns
true and the Block, if Block is successfully created; otherwise false

Definition at line 253 of file block.cpp.

References Block(), ndn::tlv::readType(), ndn::tlv::readVarNumber(), and type().

Referenced by nfd::face::EthernetTransport::doClose(), ndn::nfd::parseDatasetVector(), ndn::StreamTransportImpl< BaseTransport, Protocol >::processAllReceived(), and nfd::face::WebSocketTransport::receiveMessage().

◆ fromBuffer() [2/2]

std::tuple< bool, Block > ndn::Block::fromBuffer ( const uint8_t *  buffer,
size_t  maxSize 
)
static

Try to construct block from raw buffer.

Parameters
bufferthe raw buffer to copy bytes from
maxSizethe maximum size of constructed block; buffer must have a size of at least maxSize

This method does not throw upon decoding error. This method copies the bytes into a new Buffer.

Returns
true and the Block, if Block is successfully created; otherwise false

Definition at line 276 of file block.cpp.

References Block(), ndn::tlv::readType(), ndn::tlv::readVarNumber(), and type().

◆ empty()

bool ndn::Block::empty ( ) const

Check if the Block is empty.

Definition at line 465 of file block.cpp.

References m_type.

Referenced by ndn::Data::getContent().

◆ hasWire()

bool ndn::Block::hasWire ( ) const

Check if the Block has fully encoded wire.

Definition at line 471 of file block.cpp.

References m_begin, m_buffer, and m_end.

Referenced by ndn::encoding::Encoder::appendBlock(), begin(), ndn::name::Component::compare(), ndn::security::v1::PublicKey::computeDigest(), encode(), end(), ndn::Data::getContent(), ndn::Data::getFullName(), ndn::Interest::getNonce(), ndn::Interest::hasLink(), ndn::encoding::Encoder::prependBlock(), ndn::encoding::Estimator::prependBlock(), ndn::Interest::setLink(), ndn::Interest::setNonce(), size(), wire(), ndn::security::v2::AdditionalDescription::wireDecode(), ndn::security::ValidityPeriod::wireDecode(), ndn::SignatureInfo::wireDecode(), ndn::lp::Packet::wireEncode(), ndn::nfd::FaceStatus::wireEncode(), ndn::nfd::ChannelStatus::wireEncode(), ndn::nfd::StrategyChoice::wireEncode(), ndn::nfd::FaceEventNotification::wireEncode(), ndn::nfd::FaceQueryFilter::wireEncode(), ndn::lp::NackHeader::wireEncode(), ndn::nfd::ForwarderStatus::wireEncode(), ndn::Selectors::wireEncode(), ndn::mgmt::ControlResponse::wireEncode(), ndn::nfd::NextHopRecord::wireEncode(), ndn::lp::CachePolicy::wireEncode(), ndn::MetaInfo::wireEncode(), ndn::KeyLocator::wireEncode(), ndn::Interest::wireEncode(), ndn::security::v2::AdditionalDescription::wireEncode(), ndn::nfd::ControlParameters::wireEncode(), ndn::security::ValidityPeriod::wireEncode(), ndn::Data::wireEncode(), ndn::Name::wireEncode(), ndn::SignatureInfo::wireEncode(), ndn::nfd::FibEntry::wireEncode(), ndn::name::Component::wireEncode(), ndn::nfd::Route::wireEncode(), and ndn::nfd::RibEntry::wireEncode().

◆ reset()

void ndn::Block::reset ( )

Reset wire buffer of the element.

Definition at line 302 of file block.cpp.

References m_begin, m_buffer, m_end, m_subBlocks, m_type, m_value_begin, and m_value_end.

Referenced by ndn::MetaInfo::addAppMetaInfo(), ndn::nfd::FibEntry::addNextHopRecord(), ndn::SignatureInfo::appendTypeSpecificTlv(), ndn::KeyLocator::clear(), ndn::Data::onChanged(), ndn::MetaInfo::removeAppMetaInfo(), ndn::MetaInfo::setAppMetaInfo(), ndn::mgmt::ControlResponse::setBody(), ndn::Selectors::setChildSelector(), ndn::mgmt::ControlResponse::setCode(), ndn::nfd::NextHopRecord::setCost(), ndn::nfd::ForwarderStatus::setCurrentTimestamp(), ndn::Selectors::setExclude(), ndn::nfd::FaceStatus::setExpirationPeriod(), ndn::nfd::NextHopRecord::setFaceId(), ndn::nfd::FaceQueryFilter::setFaceId(), ndn::nfd::FaceQueryFilter::setFacePersistency(), ndn::nfd::FaceQueryFilter::setFaceScope(), ndn::MetaInfo::setFinalBlockId(), ndn::MetaInfo::setFreshnessPeriod(), ndn::SignatureInfo::setKeyLocator(), ndn::nfd::FaceEventNotification::setKind(), ndn::Interest::setLink(), ndn::nfd::FaceQueryFilter::setLinkType(), ndn::nfd::ChannelStatus::setLocalUri(), ndn::nfd::FaceQueryFilter::setLocalUri(), ndn::Selectors::setMaxSuffixComponents(), ndn::Selectors::setMinSuffixComponents(), ndn::Selectors::setMustBeFresh(), ndn::nfd::StrategyChoice::setName(), ndn::nfd::ForwarderStatus::setNCsEntries(), ndn::nfd::ForwarderStatus::setNfdVersion(), ndn::nfd::ForwarderStatus::setNFibEntries(), ndn::nfd::FaceStatus::setNInBytes(), ndn::nfd::FaceStatus::setNInDatas(), ndn::nfd::ForwarderStatus::setNInDatas(), ndn::nfd::FaceStatus::setNInInterests(), ndn::nfd::ForwarderStatus::setNInInterests(), ndn::nfd::FaceStatus::setNInNacks(), ndn::nfd::ForwarderStatus::setNInNacks(), ndn::nfd::ForwarderStatus::setNMeasurementsEntries(), ndn::nfd::ForwarderStatus::setNNameTreeEntries(), ndn::Interest::setNonce(), ndn::nfd::FaceStatus::setNOutBytes(), ndn::nfd::FaceStatus::setNOutDatas(), ndn::nfd::ForwarderStatus::setNOutDatas(), ndn::nfd::FaceStatus::setNOutInterests(), ndn::nfd::ForwarderStatus::setNOutInterests(), ndn::nfd::FaceStatus::setNOutNacks(), ndn::nfd::ForwarderStatus::setNOutNacks(), ndn::nfd::ForwarderStatus::setNPitEntries(), ndn::security::ValidityPeriod::setPeriod(), ndn::lp::CachePolicy::setPolicy(), ndn::nfd::FibEntry::setPrefix(), ndn::Selectors::setPublisherPublicKeyLocator(), ndn::lp::NackHeader::setReason(), ndn::nfd::FaceQueryFilter::setRemoteUri(), ndn::Interest::setSelectedDelegation(), ndn::SignatureInfo::setSignatureType(), ndn::nfd::ForwarderStatus::setStartTimestamp(), ndn::nfd::StrategyChoice::setStrategy(), ndn::mgmt::ControlResponse::setText(), ndn::MetaInfo::setType(), ndn::nfd::FaceQueryFilter::setUriScheme(), ndn::nfd::FaceQueryFilter::unsetFaceId(), ndn::nfd::FaceQueryFilter::unsetFacePersistency(), ndn::nfd::FaceQueryFilter::unsetFaceScope(), ndn::SignatureInfo::unsetKeyLocator(), ndn::Interest::unsetLink(), ndn::nfd::FaceQueryFilter::unsetLinkType(), ndn::nfd::FaceQueryFilter::unsetLocalUri(), ndn::nfd::FaceQueryFilter::unsetRemoteUri(), ndn::Interest::unsetSelectedDelegation(), ndn::nfd::FaceQueryFilter::unsetUriScheme(), ndn::SignatureInfo::unsetValidityPeriod(), ndn::nfd::FaceEventNotification::wireReset(), and ndn::nfd::FaceStatus::wireReset().

◆ resetWire()

void ndn::Block::resetWire ( )

Reset wire buffer but keep sub elements (if any)

Definition at line 312 of file block.cpp.

References m_begin, m_buffer, m_end, m_value_begin, and m_value_end.

Referenced by ndn::Name::deepCopy(), erase(), insert(), push_back(), and remove().

◆ begin()

Buffer::const_iterator ndn::Block::begin ( ) const

Definition at line 477 of file block.cpp.

References hasWire(), and m_begin.

Referenced by blockFromValue(), fromStream(), operator==(), parse(), ndn::Face::put(), and ndn::lp::Packet::wireDecode().

◆ end()

Buffer::const_iterator ndn::Block::end ( ) const

◆ wire()

◆ size()

◆ type()

uint32_t ndn::Block::type ( ) const
inline

Definition at line 324 of file block.hpp.

Referenced by ndn::MetaInfo::addAppMetaInfo(), ndn::Name::append(), ndn::encoding::Encoder::appendBlock(), blockFromValue(), ndn::name::Component::compare(), ndn::lp::detail::DecodeHelper< TlvType, std::pair< Buffer::const_iterator, Buffer::const_iterator > >::decode(), ndn::lp::detail::FieldDecl< LOCATION, VALUE, TYPE, REPEATABLE >::decode(), encode(), ndn::name::Component::equals(), find(), nfd::face::LpFragmenter::fragmentPacket(), fromBuffer(), fromStream(), nfd::face::GenericLinkService::GenericLinkService(), ndn::Link::getDelegationFromWire(), ndn::name::Component::getSuccessor(), ndn::name::Component::isGeneric(), ndn::name::Component::isImplicitSha256Digest(), parse(), ndn::encoding::Encoder::prependBlock(), ndn::encoding::Estimator::prependBlock(), remove(), ndn::Data::setContent(), ndn::KeyLocator::setKeyDigest(), ndn::Signature::setValue(), ndn::name::Component::toUri(), ndn::nfd::FaceStatus::wireDecode(), ndn::nfd::ChannelStatus::wireDecode(), ndn::nfd::StrategyChoice::wireDecode(), ndn::lp::Packet::wireDecode(), ndn::lp::NackHeader::wireDecode(), ndn::nfd::FaceEventNotification::wireDecode(), ndn::nfd::FaceQueryFilter::wireDecode(), ndn::mgmt::ControlResponse::wireDecode(), ndn::nfd::ForwarderStatus::wireDecode(), ndn::Selectors::wireDecode(), ndn::nfd::NextHopRecord::wireDecode(), ndn::Exclude::wireDecode(), ndn::MetaInfo::wireDecode(), ndn::lp::CachePolicy::wireDecode(), ndn::security::SafeBag::wireDecode(), ndn::KeyLocator::wireDecode(), ndn::Interest::wireDecode(), ndn::nfd::ControlParameters::wireDecode(), ndn::security::v2::AdditionalDescription::wireDecode(), ndn::security::ValidityPeriod::wireDecode(), ndn::Name::wireDecode(), ndn::SignatureInfo::wireDecode(), ndn::nfd::FibEntry::wireDecode(), ndn::nfd::Route::wireDecode(), ndn::nfd::RibEntry::wireDecode(), and ndn::name::Component::wireEncode().

◆ hasValue()

bool ndn::Block::hasValue ( ) const

Check if the Block has value block (no type and length are encoded)

Definition at line 514 of file block.cpp.

References m_buffer.

Referenced by encode(), size(), value(), and value_size().

◆ value_begin()

◆ value_end()

◆ value()

◆ value_size()

◆ parse()

void ndn::Block::parse ( ) const

Parse wire buffer into subblocks.

This method is not really const, but it does not modify any data. It simply parses contents of the buffer into subblocks

Definition at line 322 of file block.cpp.

References begin(), Block(), end(), m_buffer, m_subBlocks, ndn::tlv::readType(), ndn::tlv::readVarNumber(), type(), value_begin(), value_end(), and value_size().

Referenced by ndn::Link::countDelegationsFromWire(), ndn::Link::decodeContent(), ndn::Link::findDelegationFromWire(), nfd::ForwarderStatusManager::ForwarderStatusManager(), ndn::Link::getDelegationFromWire(), ndn::Name::Name(), ndn::security::SecuredBag::wireDecode(), ndn::nfd::FaceStatus::wireDecode(), ndn::nfd::ChannelStatus::wireDecode(), ndn::nfd::StrategyChoice::wireDecode(), ndn::lp::Packet::wireDecode(), ndn::nfd::FaceQueryFilter::wireDecode(), ndn::nfd::FaceEventNotification::wireDecode(), ndn::lp::NackHeader::wireDecode(), ndn::nfd::ForwarderStatus::wireDecode(), ndn::mgmt::ControlResponse::wireDecode(), ndn::Selectors::wireDecode(), ndn::nfd::NextHopRecord::wireDecode(), ndn::Exclude::wireDecode(), ndn::MetaInfo::wireDecode(), ndn::lp::CachePolicy::wireDecode(), ndn::security::SafeBag::wireDecode(), ndn::KeyLocator::wireDecode(), ndn::Interest::wireDecode(), ndn::nfd::ControlParameters::wireDecode(), ndn::security::v2::AdditionalDescription::wireDecode(), ndn::security::ValidityPeriod::wireDecode(), ndn::Name::wireDecode(), ndn::SignatureInfo::wireDecode(), ndn::Data::wireDecode(), ndn::nfd::FibEntry::wireDecode(), ndn::nfd::Route::wireDecode(), ndn::nfd::RibEntry::wireDecode(), ndn::security::v2::AdditionalDescription::wireEncode(), ndn::security::ValidityPeriod::wireEncode(), and ndn::Name::wireEncode().

◆ encode()

◆ get()

const Block & ndn::Block::get ( uint32_t  type) const

◆ find()

◆ remove()

void ndn::Block::remove ( uint32_t  type)

remove all subelements of type

Parameters
typeTLV-TYPE of subelements to remove
Precondition
parse() has been invoked

Definition at line 427 of file block.cpp.

References m_subBlocks, resetWire(), and type().

◆ erase() [1/2]

Block::element_iterator ndn::Block::erase ( Block::element_const_iterator  position)

Definition at line 538 of file block.cpp.

References m_subBlocks, and resetWire().

◆ erase() [2/2]

Definition at line 552 of file block.cpp.

References m_subBlocks, and resetWire().

◆ push_back()

◆ insert()

Block::element_iterator ndn::Block::insert ( Block::element_const_iterator  pos,
const Block element 
)

insert Insert a new element in a specific position

Parameters
posPosition to insert the new element
elementElement to be inserted
Returns
An iterator that points to the first of the newly inserted elements.

Definition at line 575 of file block.cpp.

References m_subBlocks, and resetWire().

Referenced by ndn::lp::Packet::add().

◆ elements()

◆ elements_begin()

◆ elements_end()

◆ elements_size()

◆ blockFromValue()

◆ getBuffer()

shared_ptr< const Buffer > ndn::Block::getBuffer ( ) const
inline

Get underlying buffer.

Definition at line 318 of file block.hpp.

◆ operator==()

bool ndn::Block::operator== ( const Block other) const

Definition at line 613 of file block.cpp.

References begin(), end(), and size().

Referenced by operator!=().

◆ operator!=()

bool ndn::Block::operator!= ( const Block other) const

Definition at line 607 of file block.cpp.

References operator==().

◆ operator boost::asio::const_buffer()

ndn::Block::operator boost::asio::const_buffer ( ) const

Definition at line 459 of file block.cpp.

References size(), and wire().

Member Data Documentation

◆ m_buffer

shared_ptr<const Buffer> ndn::Block::m_buffer
protected

Definition at line 299 of file block.hpp.

Referenced by Block(), blockFromValue(), encode(), hasValue(), hasWire(), parse(), reset(), and resetWire().

◆ m_type

uint32_t ndn::Block::m_type
protected

Definition at line 301 of file block.hpp.

Referenced by Block(), empty(), and reset().

◆ m_begin

Buffer::const_iterator ndn::Block::m_begin
protected

Definition at line 303 of file block.hpp.

Referenced by begin(), Block(), encode(), hasWire(), reset(), resetWire(), and wire().

◆ m_end

Buffer::const_iterator ndn::Block::m_end
protected

Definition at line 304 of file block.hpp.

Referenced by Block(), encode(), end(), hasWire(), reset(), and resetWire().

◆ m_size

uint32_t ndn::Block::m_size
protected

Definition at line 305 of file block.hpp.

Referenced by Block(), encode(), and size().

◆ m_value_begin

Buffer::const_iterator ndn::Block::m_value_begin
protected

Definition at line 307 of file block.hpp.

Referenced by Block(), encode(), reset(), resetWire(), value(), and value_size().

◆ m_value_end

Buffer::const_iterator ndn::Block::m_value_end
protected

Definition at line 308 of file block.hpp.

Referenced by Block(), encode(), reset(), resetWire(), and value_size().

◆ m_subBlocks

element_container ndn::Block::m_subBlocks
mutableprotected

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