ndn::KeyLocator Class Reference

#include <key-locator.hpp>

Data Structures

class  Error
 

Public Types

enum  Type { KeyLocator_None = 65535, KeyLocator_Name = 0, KeyLocator_KeyDigest = 1, KeyLocator_Unknown = 255 }
 

Public Member Functions

 KeyLocator ()
 construct an empty KeyLocator More...
 
 KeyLocator (const Block &wire)
 construct from wire encoding More...
 
 KeyLocator (const Name &name)
 construct from Name More...
 
template<encoding::Tag TAG>
size_t wireEncode (EncodingImpl< TAG > &encoder) const
 prepend wire encoding More...
 
const BlockwireEncode () const
 
void wireDecode (const Block &wire)
 decode from wire encoding More...
 
bool empty () const
 
Type getType () const
 
KeyLocatorclear ()
 clear KeyLocator More...
 
const NamegetName () const
 get Name element More...
 
KeyLocatorsetName (const Name &name)
 set Name element More...
 
const BlockgetKeyDigest () const
 get KeyDigest element More...
 
KeyLocatorsetKeyDigest (const Block &keyDigest)
 set KeyDigest element More...
 
KeyLocatorsetKeyDigest (const ConstBufferPtr &keyDigest)
 set KeyDigest value More...
 
bool operator== (const KeyLocator &other) const
 
bool operator!= (const KeyLocator &other) const
 

Detailed Description

Definition at line 30 of file key-locator.hpp.

Member Enumeration Documentation

Enumerator
KeyLocator_None 

indicates KeyLocator is empty (internal use only)

KeyLocator_Name 

indicates KeyLocator contains a Name

KeyLocator_KeyDigest 

indicates KeyLocator contains a KeyDigest

KeyLocator_Unknown 

indicates KeyLocator contains an unknown element

Definition at line 43 of file key-locator.hpp.

Constructor & Destructor Documentation

ndn::KeyLocator::KeyLocator ( )

construct an empty KeyLocator

Definition at line 35 of file key-locator.cpp.

ndn::KeyLocator::KeyLocator ( const Block wire)
explicit

construct from wire encoding

Definition at line 40 of file key-locator.cpp.

ndn::KeyLocator::KeyLocator ( const Name name)

construct from Name

Note
implicit conversion is permitted

Definition at line 45 of file key-locator.cpp.

Member Function Documentation

KeyLocator & ndn::KeyLocator::clear ( )

clear KeyLocator

type becomes KeyLocator_None

Returns
self

Definition at line 129 of file key-locator.cpp.

bool ndn::KeyLocator::empty ( ) const
inline

Definition at line 95 of file key-locator.hpp.

const Block & ndn::KeyLocator::getKeyDigest ( ) const

get KeyDigest element

Exceptions
Errorif type is not KeyLocator_KeyDigest

Definition at line 157 of file key-locator.cpp.

const Name & ndn::KeyLocator::getName ( ) const

get Name element

Exceptions
Errorif type is not KeyLocator_Name

Definition at line 139 of file key-locator.cpp.

Type ndn::KeyLocator::getType ( ) const
inline

Definition at line 101 of file key-locator.hpp.

bool ndn::KeyLocator::operator!= ( const KeyLocator other) const
inline

Definition at line 152 of file key-locator.hpp.

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

Definition at line 188 of file key-locator.cpp.

KeyLocator & ndn::KeyLocator::setKeyDigest ( const Block keyDigest)

set KeyDigest element

type becomes KeyLocator_KeyDigest

Exceptions
Errorif Block type is not KeyDigest
Returns
self

Definition at line 166 of file key-locator.cpp.

KeyLocator & ndn::KeyLocator::setKeyDigest ( const ConstBufferPtr keyDigest)

set KeyDigest value

type becomes KeyLocator_KeyDigest

Returns
self

Definition at line 178 of file key-locator.cpp.

KeyLocator & ndn::KeyLocator::setName ( const Name name)

set Name element

type becomes KeyLocator_Name

Returns
self

Definition at line 148 of file key-locator.cpp.

void ndn::KeyLocator::wireDecode ( const Block wire)

decode from wire encoding

Exceptions
Errorouter TLV type is not KeyLocator
Note
No error is thrown for unrecognized inner TLV, but type becomes KeyLocator_Unknown.

Definition at line 100 of file key-locator.cpp.

template<encoding::Tag TAG>
size_t ndn::KeyLocator::wireEncode ( EncodingImpl< TAG > &  encoder) const

prepend wire encoding

Parameters
encoderEncodingBuffer or Estimator

Definition at line 52 of file key-locator.cpp.

const Block & ndn::KeyLocator::wireEncode ( ) const
Returns
wire encoding

Definition at line 84 of file key-locator.cpp.