#include <packet.hpp>
Classes | |
class | Error |
Public Member Functions | |
Packet () | |
Packet (const Block &wire) | |
Block | wireEncode () const |
encode packet into wire format More... | |
void | wireDecode (const Block &wire) |
decode packet from wire format More... | |
NDN_CXX_NODISCARD bool | empty () const |
template<typename FIELD > | |
NDN_CXX_NODISCARD bool | has () const |
template<typename FIELD > | |
NDN_CXX_NODISCARD size_t | count () const |
template<typename FIELD > | |
FIELD::ValueType | get (size_t index=0) const |
template<typename FIELD > | |
NDN_CXX_NODISCARD std::vector< typename FIELD::ValueType > | list () const |
template<typename FIELD > | |
Packet & | set (const typename FIELD::ValueType &value) |
remove all occurrences of FIELD, and add a FIELD with value More... | |
template<typename FIELD > | |
Packet & | add (const typename FIELD::ValueType &value) |
add a FIELD with value More... | |
template<typename FIELD > | |
Packet & | remove (size_t index=0) |
remove the index-th occurrence of FIELD More... | |
template<typename FIELD > | |
Packet & | clear () |
remove all occurrences of FIELD More... | |
Definition at line 30 of file packet.hpp.
ndn::lp::Packet::Packet | ( | ) |
Definition at line 108 of file packet.cpp.
|
explicit |
Definition at line 113 of file packet.cpp.
References wireDecode().
Block ndn::lp::Packet::wireEncode | ( | ) | const |
encode packet into wire format
Definition at line 119 of file packet.cpp.
References ndn::Block::elements(), and ndn::Block::encode().
Referenced by nfd::face::LpFragmenter::fragmentPacket(), nfd::face::LpReliability::piggyback(), and ndn::util::DummyClientFace::receive().
void ndn::lp::Packet::wireDecode | ( | const Block & | wire | ) |
decode packet from wire format
Error | unknown TLV-TYPE |
Definition at line 133 of file packet.cpp.
References ndn::Block::begin(), ndn::tlv::Data, ndn::Block::elements(), ndn::Block::end(), ndn::tlv::Interest, ndn::lp::tlv::LpPacket, NDN_THROW, ndn::Block::parse(), ndn::to_string(), and ndn::Block::type().
Referenced by Packet().
|
inline |
true | packet has no field |
false | packet has one or more fields |
Definition at line 62 of file packet.hpp.
References ndn::Block::elements_size().
|
inline |
This is equivalent to count() > 0
Definition at line 74 of file packet.hpp.
Referenced by ndn::addTagFromField(), ndn::extractLpLocalFields(), nfd::face::LpFragmenter::fragmentPacket(), ns3::ndn::BlockHeader::Print(), nfd::face::LpReliability::processIncomingPacket(), and nfd::face::LpReassembler::receiveFragment().
|
inline |
Definition at line 84 of file packet.hpp.
References ndn::Block::elements_begin(), and ndn::Block::elements_end().
|
inline |
std::out_of_range | if index>=count() |
Definition at line 96 of file packet.hpp.
References count(), ndn::Block::elements(), and NDN_THROW.
Referenced by ndn::addTagFromField(), ndn::extractLpLocalFields(), nfd::face::LpFragmenter::fragmentPacket(), ns3::ndn::BlockHeader::Print(), nfd::face::LpReliability::processIncomingPacket(), and nfd::face::LpReassembler::receiveFragment().
|
inline |
Definition at line 116 of file packet.hpp.
References ndn::Block::elements().
Referenced by nfd::face::LpReliability::processIncomingPacket().
|
inline |
remove all occurrences of FIELD, and add a FIELD with value
This equivalent to clear() followed by add(value)
Definition at line 136 of file packet.hpp.
Referenced by nfd::face::LpFragmenter::fragmentPacket().
|
inline |
add a FIELD with value
std::invalid_argument | if field already exists and is not repeatable |
Definition at line 148 of file packet.hpp.
References ndn::Block::elements_begin(), ndn::Block::elements_end(), ndn::Block::insert(), and NDN_THROW.
Referenced by ndn::addFieldFromTag(), ndn::Face::Impl::asyncPutNack(), nfd::face::LpFragmenter::fragmentPacket(), nfd::face::LpReliability::piggyback(), and ndn::util::DummyClientFace::receive().
|
inline |
remove the index-th occurrence of FIELD
std::out_of_range | if index>=count() |
Definition at line 173 of file packet.hpp.
References count(), ndn::Block::elements_begin(), ndn::Block::elements_end(), ndn::Block::erase(), and NDN_THROW.
|
inline |
remove all occurrences of FIELD
Definition at line 194 of file packet.hpp.
References ndn::Block::remove().