ndn::KeyLocator Class Reference

#include <key-locator.hpp>

Classes

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...
 
KeyLocatorclear ()
 clear KeyLocator More...
 
bool empty () const
 
const BlockgetKeyDigest () const
 get KeyDigest element More...
 
const NamegetName () const
 get Name element More...
 
Type getType () const
 
bool operator!= (const KeyLocator &other) const
 
bool operator== (const KeyLocator &other) const
 
KeyLocatorsetKeyDigest (const Block &keyDigest)
 set KeyDigest element More...
 
KeyLocatorsetKeyDigest (const ConstBufferPtr &keyDigest)
 set KeyDigest value More...
 
KeyLocatorsetName (const Name &name)
 set Name element More...
 
void wireDecode (const Block &wire)
 decode from wire encoding More...
 
template<encoding::Tag TAG>
size_t wireEncode (EncodingImpl< TAG > &encoder) const
 prepend wire encoding More...
 
const BlockwireEncode () 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 125 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 153 of file key-locator.cpp.

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

get Name element

Exceptions
Errorif type is not KeyLocator_Name

Definition at line 135 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 184 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 162 of file key-locator.cpp.

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

set KeyDigest value

type becomes KeyLocator_KeyDigest

Returns
self

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

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

set Name element

type becomes KeyLocator_Name

Returns
self

Definition at line 144 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 96 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 80 of file key-locator.cpp.