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 Namespace Reference

Namespace for ccnb parer. More...

Classes

class  CcnbDecodingException
 Exception thrown if there is a parsing error. More...
 
class  Attr
 Class to represent ATTR ccnb-encoded node. More...
 
class  BaseAttr
 Virtual base class providing a common storage for ATTR and DATTR ccnb-encoded blocks. More...
 
class  BaseTag
 Virtual base class providing a common storage for TAG and DTAG ccnb-encoded blocks. More...
 
class  Blob
 Class to represent BLOB ccnb-encoded node. More...
 
class  Block
 Base class for ccnb-encoded node. More...
 
class  Dattr
 Class to represent DATTR ccnb-encoded node. More...
 
class  Dtag
 Class to represent DTAG ccnb-encoded node. More...
 
class  Ext
 Class to represent EXT ccnb-encoded node. More...
 
class  Tag
 Class to represent TAG ccnb-encoded node. More...
 
class  Udata
 Class to represent UDATA ccnb-encoded node. More...
 
class  ContentTypeVisitor
 Visitor to obtain nonce value from BLOB block. More...
 
class  DepthFirstVisitor
 Depth-first visitor that takes boot::any as argument and returns boost::any value. More...
 
class  NameVisitor
 Visitor to obtain fill CcnxName object with name components. More...
 
class  NoArguDepthFirstVisitor
 Depth-first visitor that takes no arguments and returns boost::any value. More...
 
class  NoArguVisitor
 Visitor interface that takes no arguments and returns boost::any. More...
 
class  NonNegativeIntegerVisitor
 Visitor to obtain non-negative integer value from UDATA block. More...
 
class  StringVisitor
 Visitor to obtain string value from UDATA block. More...
 
class  TimestampVisitor
 Visitor to obtain timestamp value from BLOB block. More...
 
class  Uint32tBlobVisitor
 Visitor to obtain nonce value from BLOB block. More...
 
class  Visitor
 Visitor interface that takes one boost::any argument and returns boost::any. More...
 
class  VoidDepthFirstVisitor
 Depth-first visitor that takes one argument and returns nothing. More...
 
class  VoidNoArguDepthFirstVisitor
 Depth-first visitor that takes no arguments and returns nothing. More...
 
class  VoidNoArguVisitor
 Visitor interface that takes no arguments and returns nothing. More...
 
class  VoidVisitor
 Visitor interface that takes one boost::any argument and returns nothing. More...
 

Enumerations

enum  ccn_tt {
  CCN_EXT, CCN_TAG, CCN_DTAG, CCN_ATTR,
  CCN_DATTR, CCN_BLOB, CCN_UDATA, CCN_NO_TOKEN
}
 Type tag for a ccnb start marker. More...
 
enum  { CCN_CLOSE = 0 }
 CCN_CLOSE terminates composites.
 
enum  ccn_dtag {
  CCN_DTAG_Any = 13, CCN_DTAG_Name = 14, CCN_DTAG_Component = 15, CCN_DTAG_Certificate = 16,
  CCN_DTAG_Collection = 17, CCN_DTAG_CompleteName = 18, CCN_DTAG_Content = 19, CCN_DTAG_SignedInfo = 20,
  CCN_DTAG_ContentDigest = 21, CCN_DTAG_ContentHash = 22, CCN_DTAG_Count = 24, CCN_DTAG_Header = 25,
  CCN_DTAG_Interest = 26, CCN_DTAG_Key = 27, CCN_DTAG_KeyLocator = 28, CCN_DTAG_KeyName = 29,
  CCN_DTAG_Length = 30, CCN_DTAG_Link = 31, CCN_DTAG_LinkAuthenticator = 32, CCN_DTAG_NameComponentCount = 33,
  CCN_DTAG_RootDigest = 36, CCN_DTAG_Signature = 37, CCN_DTAG_Start = 38, CCN_DTAG_Timestamp = 39,
  CCN_DTAG_Type = 40, CCN_DTAG_Nonce = 41, CCN_DTAG_Scope = 42, CCN_DTAG_Exclude = 43,
  CCN_DTAG_Bloom = 44, CCN_DTAG_BloomSeed = 45, CCN_DTAG_AnswerOriginKind = 47, CCN_DTAG_InterestLifetime = 48,
  CCN_DTAG_Witness = 53, CCN_DTAG_SignatureBits = 54, CCN_DTAG_DigestAlgorithm = 55, CCN_DTAG_BlockSize = 56,
  CCN_DTAG_FreshnessSeconds = 58, CCN_DTAG_FinalBlockID = 59, CCN_DTAG_PublisherPublicKeyDigest = 60, CCN_DTAG_PublisherCertificateDigest = 61,
  CCN_DTAG_PublisherIssuerKeyDigest = 62, CCN_DTAG_PublisherIssuerCertificateDigest = 63, CCN_DTAG_ContentObject = 64, CCN_DTAG_WrappedKey = 65,
  CCN_DTAG_WrappingKeyIdentifier = 66, CCN_DTAG_WrapAlgorithm = 67, CCN_DTAG_KeyAlgorithm = 68, CCN_DTAG_Label = 69,
  CCN_DTAG_EncryptedKey = 70, CCN_DTAG_EncryptedNonceKey = 71, CCN_DTAG_WrappingKeyName = 72, CCN_DTAG_Action = 73,
  CCN_DTAG_FaceID = 74, CCN_DTAG_IPProto = 75, CCN_DTAG_Host = 76, CCN_DTAG_Port = 77,
  CCN_DTAG_MulticastInterface = 78, CCN_DTAG_ForwardingFlags = 79, CCN_DTAG_FaceInstance = 80, CCN_DTAG_ForwardingEntry = 81,
  CCN_DTAG_MulticastTTL = 82, CCN_DTAG_MinSuffixComponents = 83, CCN_DTAG_MaxSuffixComponents = 84, CCN_DTAG_ChildSelector = 85,
  CCN_DTAG_RepositoryInfo = 86, CCN_DTAG_Version = 87, CCN_DTAG_RepositoryVersion = 88, CCN_DTAG_GlobalPrefix = 89,
  CCN_DTAG_LocalName = 90, CCN_DTAG_Policy = 91, CCN_DTAG_Namespace = 92, CCN_DTAG_GlobalPrefixName = 93,
  CCN_DTAG_PolicyVersion = 94, CCN_DTAG_KeyValueSet = 95, CCN_DTAG_KeyValuePair = 96, CCN_DTAG_IntegerValue = 97,
  CCN_DTAG_DecimalValue = 98, CCN_DTAG_StringValue = 99, CCN_DTAG_BinaryValue = 100, CCN_DTAG_NameValue = 101,
  CCN_DTAG_Entry = 102, CCN_DTAG_ACL = 103, CCN_DTAG_ParameterizedName = 104, CCN_DTAG_Prefix = 105,
  CCN_DTAG_Suffix = 106, CCN_DTAG_Root = 107, CCN_DTAG_ProfileName = 108, CCN_DTAG_Parameters = 109,
  CCN_DTAG_InfoString = 110, CCN_DTAG_StatusResponse = 112, CCN_DTAG_StatusCode = 113, CCN_DTAG_StatusText = 114,
  CCN_DTAG_Nack = 200, CCN_DTAG_SequenceNumber = 256, CCN_DTAG_CCNProtocolDataUnit = 17702112
}
 DTAG identifies ccnb-encoded elements. More...
 

Functions

uint8_t BufferIteratorPeekU8 (Buffer::Iterator &i)
 Necessary until Buffer::Iterator gets PeekU8 call. More...
 

Detailed Description

Namespace for ccnb parer.

Enumeration Type Documentation

DTAG identifies ccnb-encoded elements.

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

Definition at line 86 of file common.h.

Type tag for a ccnb start marker.

See Also
http://www.ccnx.org/releases/latest/doc/technical/DTAG.html
Enumerator
CCN_EXT 

starts composite extension - numval is subtype

CCN_TAG 

starts composite - numval is tagnamelen-1

CCN_DTAG 

starts composite - numval is tagdict index (enum ccn_dtag)

CCN_ATTR 

attribute - numval is attrnamelen-1, value follows

CCN_DATTR 

attribute numval is attrdict index

CCN_BLOB 

opaque binary data - numval is byte count

CCN_UDATA 

UTF-8 encoded character data - numval is byte count.

CCN_NO_TOKEN 

should not occur in encoding

Definition at line 67 of file common.h.

Function Documentation

uint8_t wire::CcnbParser::BufferIteratorPeekU8 ( Buffer::Iterator &  i)
inline

Necessary until Buffer::Iterator gets PeekU8 call.

Parameters
ibuffer iterator
Returns
peeked uint8_t value

Definition at line 77 of file block.h.

Referenced by wire::CcnbParser::Dtag::Dtag(), and wire::CcnbParser::Tag::Tag().