ndn::lp Namespace Reference

Namespaces

 field_location_tags
 indicates where a field may occur
 
 tlv
 

Classes

class  CachePolicy
 represents a CachePolicy header field More...
 
struct  DecodeHelper
 
struct  DecodeHelper< TlvType, EmptyValue >
 
struct  DecodeHelper< TlvType, NonNegativeIntegerTag >
 
struct  DecodeHelper< TlvType, std::pair< Buffer::const_iterator, Buffer::const_iterator > >
 
struct  DecodeHelper< TlvType, uint64_t >
 
struct  EmptyValue
 represents a zero-length TLV-VALUE More...
 
struct  EncodeHelper
 
struct  EncodeHelper< TAG, TlvType, EmptyValue >
 
struct  EncodeHelper< TAG, TlvType, NonNegativeIntegerTag >
 
struct  EncodeHelper< TAG, TlvType, std::pair< Buffer::const_iterator, Buffer::const_iterator > >
 
struct  EncodeHelper< TAG, TlvType, uint64_t >
 
struct  Field
 concept check for fields More...
 
class  FieldDecl
 Declare a field. More...
 
class  Nack
 represents a Network Nack More...
 
class  NackHeader
 represents a Network NACK header More...
 
class  Packet
 
class  PrefixAnnouncement
 represents a Prefix Announcement More...
 

Typedefs

typedef FieldDecl< field_location_tags::Header, Sequence, tlv::Ack, true > AckField
 
typedef FieldDecl< field_location_tags::Header, CachePolicy, tlv::CachePolicyCachePolicyField
 
typedef SimpleTag< CachePolicy, 12 > CachePolicyTag
 
typedef FieldDecl< field_location_tags::Header, uint64_t, tlv::CongestionMark, false, NonNegativeIntegerTag, NonNegativeIntegerTag > CongestionMarkField
 
typedef SimpleTag< uint64_t, 13 > CongestionMarkTag
 
typedef boost::mpl::set< FragmentField, SequenceField, FragIndexField, FragCountField, NackField, NextHopFaceIdField, CachePolicyField, IncomingFaceIdField, CongestionMarkField, AckField, TxSequenceField, NonDiscoveryField, PrefixAnnouncementFieldFieldSet
 Set of all field declarations. More...
 
typedef FieldDecl< field_location_tags::Header, uint64_t, tlv::FragCount, false, NonNegativeIntegerTag, NonNegativeIntegerTag > FragCountField
 
typedef FieldDecl< field_location_tags::Header, uint64_t, tlv::FragIndex, false, NonNegativeIntegerTag, NonNegativeIntegerTag > FragIndexField
 
typedef FieldDecl< field_location_tags::Fragment, std::pair< Buffer::const_iterator, Buffer::const_iterator >, tlv::FragmentFragmentField
 Declare the Fragment field. More...
 
typedef FieldDecl< field_location_tags::Header, uint64_t, tlv::IncomingFaceId, false, NonNegativeIntegerTag, NonNegativeIntegerTag > IncomingFaceIdField
 
typedef SimpleTag< uint64_t, 10 > IncomingFaceIdTag
 
typedef FieldDecl< field_location_tags::Header, NackHeader, tlv::NackNackField
 
typedef FieldDecl< field_location_tags::Header, uint64_t, tlv::NextHopFaceId, false, NonNegativeIntegerTag, NonNegativeIntegerTag > NextHopFaceIdField
 
typedef SimpleTag< uint64_t, 11 > NextHopFaceIdTag
 
typedef FieldDecl< field_location_tags::Header, EmptyValue, tlv::NonDiscoveryNonDiscoveryField
 
typedef SimpleTag< EmptyValue, 14 > NonDiscoveryTag
 
typedef FieldDecl< field_location_tags::Header, PrefixAnnouncement, tlv::PrefixAnnouncementPrefixAnnouncementField
 
typedef SimpleTag< PrefixAnnouncement, 15 > PrefixAnnouncementTag
 
typedef uint64_t Sequence
 represents a sequence number More...
 
typedef FieldDecl< field_location_tags::Header, Sequence, tlv::SequenceSequenceField
 
typedef FieldDecl< field_location_tags::Header, Sequence, tlv::TxSequenceTxSequenceField
 

Enumerations

enum  CachePolicyType {
  CachePolicyType::NONE = 0,
  CachePolicyType::NO_CACHE = 1
}
 indicates the cache policy applied to a Data packet More...
 
enum  NackReason {
  NackReason::NONE = 0,
  NackReason::CONGESTION = 50,
  NackReason::DUPLICATE = 100,
  NackReason::NO_ROUTE = 150
}
 indicates the reason type of a network NACK More...
 

Functions

template size_t CachePolicy::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t CachePolicy::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
bool isLessSevere (lp::NackReason x, lp::NackReason y)
 compare NackReason for severity More...
 
template size_t NackHeader::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t NackHeader::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
std::ostream & operator<< (std::ostream &os, NackReason reason)
 
std::ostream & operator<< (std::ostream &os, CachePolicyType policy)
 
template size_t PrefixAnnouncement::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t PrefixAnnouncement::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 

Variables

static const name::Component SELF_LEARNING_PREFIX ("self-learning")
 

Typedef Documentation

Definition at line 52 of file tags.hpp.

typedef FieldDecl<field_location_tags::Header, uint64_t, tlv::CongestionMark, false, NonNegativeIntegerTag, NonNegativeIntegerTag> ndn::lp::CongestionMarkField

Definition at line 81 of file fields.hpp.

typedef SimpleTag<uint64_t, 13> ndn::lp::CongestionMarkTag

Definition at line 59 of file tags.hpp.

typedef FieldDecl<field_location_tags::Header, uint64_t, tlv::FragCount, false, NonNegativeIntegerTag, NonNegativeIntegerTag> ndn::lp::FragCountField

Definition at line 47 of file fields.hpp.

typedef FieldDecl<field_location_tags::Header, uint64_t, tlv::FragIndex, false, NonNegativeIntegerTag, NonNegativeIntegerTag> ndn::lp::FragIndexField

Definition at line 39 of file fields.hpp.

typedef FieldDecl<field_location_tags::Fragment, std::pair<Buffer::const_iterator, Buffer::const_iterator>, tlv::Fragment> ndn::lp::FragmentField

Declare the Fragment field.

The fragment (i.e. payload) is the bytes between two provided iterators. During encoding, these bytes are copied from the Buffer into the LpPacket.

Definition at line 110 of file fields.hpp.

typedef FieldDecl<field_location_tags::Header, uint64_t, tlv::IncomingFaceId, false, NonNegativeIntegerTag, NonNegativeIntegerTag> ndn::lp::IncomingFaceIdField

Definition at line 73 of file fields.hpp.

typedef SimpleTag<uint64_t, 10> ndn::lp::IncomingFaceIdTag

Definition at line 38 of file tags.hpp.

typedef FieldDecl<field_location_tags::Header, uint64_t, tlv::NextHopFaceId, false, NonNegativeIntegerTag, NonNegativeIntegerTag> ndn::lp::NextHopFaceIdField

Definition at line 60 of file fields.hpp.

typedef SimpleTag<uint64_t, 11> ndn::lp::NextHopFaceIdTag

Definition at line 45 of file tags.hpp.

Definition at line 66 of file tags.hpp.

Definition at line 73 of file tags.hpp.

typedef uint64_t ndn::lp::Sequence

represents a sequence number

Definition at line 35 of file sequence.hpp.

Enumeration Type Documentation

indicates the cache policy applied to a Data packet

Enumerator
NONE 
NO_CACHE 

Definition at line 36 of file cache-policy.hpp.

enum ndn::lp::NackReason
strong

indicates the reason type of a network NACK

Enumerator
NONE 
CONGESTION 
DUPLICATE 
NO_ROUTE 

Definition at line 39 of file nack-header.hpp.

Function Documentation

template size_t ndn::lp::CachePolicy::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::lp::CachePolicy::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
bool ndn::lp::isLessSevere ( lp::NackReason  x,
lp::NackReason  y 
)

compare NackReason for severity

lp::NackReason::NONE is treated as most severe

Definition at line 50 of file nack-header.cpp.

template size_t ndn::lp::NackHeader::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::lp::NackHeader::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const
std::ostream & ndn::lp::operator<< ( std::ostream &  os,
NackReason  reason 
)

Definition at line 30 of file nack-header.cpp.

std::ostream & ndn::lp::operator<< ( std::ostream &  os,
CachePolicyType  policy 
)

Definition at line 31 of file cache-policy.cpp.

template size_t ndn::lp::PrefixAnnouncement::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const
template size_t ndn::lp::PrefixAnnouncement::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const

Variable Documentation

const name::Component ndn::lp::SELF_LEARNING_PREFIX("self-learning")
static