ndn::lp::Packet Class Reference

#include <ndn-cxx/lp/packet.hpp>

Classes

class  Error
 

Public Member Functions

 Packet ()
 
 Packet (const Block &wire)
 
template<typename FIELD >
Packetadd (const typename FIELD::ValueType &value)
 Add a FIELD with value. More...
 
template<typename FIELD >
Packetclear ()
 Remove all occurrences of FIELD. More...
 
template<typename FIELD >
size_t count () const
 Returns the number of occurrences of FIELD. More...
 
bool empty () const
 
template<typename FIELD >
FIELD::ValueType get (size_t index=0) const
 Returns the value of the index-th occurrence of FIELD. More...
 
template<typename FIELD >
bool has () const
 Returns true if FIELD occurs one or more times. More...
 
template<typename FIELD >
std::vector< typename FIELD::ValueType > list () const
 Returns the values of all occurrences of FIELD. More...
 
template<typename FIELD >
Packetremove (size_t index=0)
 Remove the index-th occurrence of FIELD. More...
 
template<typename FIELD >
Packetset (const typename FIELD::ValueType &value)
 Remove all occurrences of FIELD, and add a FIELD with value. More...
 
void wireDecode (const Block &wire)
 Decode packet from wire format. More...
 
Block wireEncode () const
 Encode packet into wire format. More...
 

Detailed Description

Definition at line 34 of file packet.hpp.

Constructor & Destructor Documentation

◆ Packet() [1/2]

ndn::lp::Packet::Packet ( )
default

◆ Packet() [2/2]

ndn::lp::Packet::Packet ( const Block wire)
explicit

Definition at line 85 of file packet.cpp.

Member Function Documentation

◆ add()

template<typename FIELD >
Packet& ndn::lp::Packet::add ( const typename FIELD::ValueType &  value)
inline

Add a FIELD with value.

Exceptions
std::invalid_argumentif field already exists and is not repeatable

Definition at line 152 of file packet.hpp.

◆ clear()

template<typename FIELD >
Packet& ndn::lp::Packet::clear ( )
inline

Remove all occurrences of FIELD.

Definition at line 198 of file packet.hpp.

◆ count()

template<typename FIELD >
size_t ndn::lp::Packet::count ( ) const
inline

Returns the number of occurrences of FIELD.

Definition at line 88 of file packet.hpp.

◆ empty()

bool ndn::lp::Packet::empty ( ) const
inline
Return values
truepacket has no field
falsepacket has one or more fields

Definition at line 66 of file packet.hpp.

◆ get()

template<typename FIELD >
FIELD::ValueType ndn::lp::Packet::get ( size_t  index = 0) const
inline

Returns the value of the index-th occurrence of FIELD.

Exceptions
std::out_of_rangeif index >= count()

Definition at line 100 of file packet.hpp.

◆ has()

template<typename FIELD >
bool ndn::lp::Packet::has ( ) const
inline

Returns true if FIELD occurs one or more times.

This is equivalent to count() > 0

Definition at line 78 of file packet.hpp.

◆ list()

template<typename FIELD >
std::vector<typename FIELD::ValueType> ndn::lp::Packet::list ( ) const
inline

Returns the values of all occurrences of FIELD.

Definition at line 120 of file packet.hpp.

◆ remove()

template<typename FIELD >
Packet& ndn::lp::Packet::remove ( size_t  index = 0)
inline

Remove the index-th occurrence of FIELD.

Exceptions
std::out_of_rangeif index>=count()

Definition at line 177 of file packet.hpp.

◆ set()

template<typename FIELD >
Packet& ndn::lp::Packet::set ( const typename FIELD::ValueType &  value)
inline

Remove all occurrences of FIELD, and add a FIELD with value.

This equivalent to clear() followed by add(value)

Definition at line 140 of file packet.hpp.

◆ wireDecode()

void ndn::lp::Packet::wireDecode ( const Block wire)

Decode packet from wire format.

Exceptions
Errorunknown TLV-TYPE

Definition at line 105 of file packet.cpp.

◆ wireEncode()

Block ndn::lp::Packet::wireEncode ( ) const

Encode packet into wire format.

Definition at line 91 of file packet.cpp.