NS-3 based Named Data Networking (NDN) simulator
ndnSIM: NDN, CCN, CCNx, content centric networks
API Documentation
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
wire::CcnbParser::Block Class Referenceabstract

Base class for ccnb-encoded node. More...

#include <block.h>

Inheritance diagram for wire::CcnbParser::Block:
Collaboration diagram for wire::CcnbParser::Block:

Public Member Functions

virtual void accept (VoidNoArguVisitor &v)=0
 Accept visitor void(*)()
 
virtual void accept (VoidVisitor &v, boost::any param)=0
 Accept visitor void(*)(boost::any)
 
virtual boost::any accept (NoArguVisitor &v)=0
 Accept visitor boost::any(*)()
 
virtual boost::any accept (Visitor &v, boost::any param)=0
 Accept visitor boost::any(*)(boost::any)
 

Static Public Member Functions

static Ptr< BlockParseBlock (Buffer::Iterator &start)
 Parsing stream (recursively) and creating a parsed BLOCK object. More...
 

Detailed Description

Base class for ccnb-encoded node.

This class provides a static method to create a new block (recursively) from the stream

See Also
http://www.ccnx.org/releases/latest/doc/technical/BinaryEncoding.html

Definition at line 48 of file block.h.

Member Function Documentation

Ptr< Block > wire::CcnbParser::Block::ParseBlock ( Buffer::Iterator &  start)
static

Parsing stream (recursively) and creating a parsed BLOCK object.

Parameters
startbuffer iterator pointing to the start position for parsing
Returns
parsed ccnb-encoded block, that could contain more block inside

Huh. After fighting with NS-3, it became apparent that Create<T>(...) construct doesn't work with references. Just simply doesn't work. wtf?

Definition at line 49 of file block.cc.

References wire::CcnbParser::CCN_ATTR, wire::CcnbParser::CCN_BLOB, wire::CcnbParser::CCN_DATTR, wire::CcnbParser::CCN_DTAG, wire::CcnbParser::CCN_EXT, wire::CcnbParser::CCN_TAG, and wire::CcnbParser::CCN_UDATA.

Referenced by wire::CcnbParser::Attr::Attr(), wire::CcnbParser::Dattr::Dattr(), wire::Ccnb::DeserializeName(), wire::CcnbParser::Dtag::Dtag(), and wire::CcnbParser::Tag::Tag().


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