ndn::lp Namespace Reference

Namespaces

 detail
 
 field_location_tags
 indicates where a field may occur
 
 tlv
 

Data Structures

class  CachePolicy
 represents a CachePolicy header field More...
 
struct  Field
 concept check for fields More...
 
class  Nack
 represents a Network Nack More...
 
class  NackHeader
 represents a Network NACK header More...
 
class  Packet
 

Typedefs

typedef detail::FieldDecl< field_location_tags::Header, Sequence, tlv::SequenceSequenceField
 
typedef detail::FieldDecl< field_location_tags::Header, uint64_t, tlv::FragIndexFragIndexField
 
typedef detail::FieldDecl< field_location_tags::Header, uint64_t, tlv::FragCountFragCountField
 
typedef detail::FieldDecl< field_location_tags::Header, NackHeader, tlv::NackNackField
 
typedef detail::FieldDecl< field_location_tags::Header, uint64_t, tlv::NextHopFaceIdNextHopFaceIdField
 
typedef detail::FieldDecl< field_location_tags::Header, CachePolicy, tlv::CachePolicyCachePolicyField
 
typedef detail::FieldDecl< field_location_tags::Header, uint64_t, tlv::IncomingFaceIdIncomingFaceIdField
 
typedef detail::FieldDecl< field_location_tags::Header, uint64_t, tlv::CongestionMarkCongestionMarkField
 
typedef detail::FieldDecl< field_location_tags::Header, Sequence, tlv::Ack, true > AckField
 
typedef detail::FieldDecl< field_location_tags::Fragment, std::pair< Buffer::const_iterator, Buffer::const_iterator >, tlv::FragmentFragmentField
 The value of the wire encoded field is the data between the provided iterators. More...
 
typedef boost::mpl::set< FragmentField, SequenceField, FragIndexField, FragCountField, NackField, NextHopFaceIdField, CachePolicyField, IncomingFaceIdField, CongestionMarkField, AckFieldFieldSet
 set of all field declarations More...
 
typedef uint64_t Sequence
 represents a sequence number More...
 
typedef SimpleTag< uint64_t, 10 > IncomingFaceIdTag
 
typedef SimpleTag< uint64_t, 11 > NextHopFaceIdTag
 
typedef SimpleTag< CachePolicy, 12 > CachePolicyTag
 
typedef SimpleTag< uint64_t, 13 > CongestionMarkTag
 

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

std::ostream & operator<< (std::ostream &os, CachePolicyType policy)
 
template size_t CachePolicy::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t CachePolicy::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
std::ostream & operator<< (std::ostream &os, NackReason reason)
 
template size_t NackHeader::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t NackHeader::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
template size_t Packet::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t Packet::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 

Variables

 Field< SequenceField >
 
 Field< FragIndexField >
 
 Field< FragCountField >
 
 Field< NackField >
 
 Field< NextHopFaceIdField >
 
 Field< CachePolicyField >
 
 Field< IncomingFaceIdField >
 
 Field< CongestionMarkField >
 
 Field< AckField >
 
 Field< FragmentField >
 

Typedef Documentation

Definition at line 50 of file tags.hpp.

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

Definition at line 57 of file tags.hpp.

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

The value of the wire encoded field is the data between the provided iterators.

During encoding, the data is copied from the Buffer into the wire buffer.

Definition at line 88 of file fields.hpp.

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

Definition at line 36 of file tags.hpp.

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

Definition at line 43 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 40 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< encoding::EncoderTag > ( EncodingImpl< encoding::EncoderTag > &  encoder) const
template size_t ndn::lp::CachePolicy::wireEncode< encoding::EstimatorTag > ( EncodingImpl< encoding::EstimatorTag > &  encoder) const
template size_t ndn::lp::NackHeader::wireEncode< encoding::EncoderTag > ( EncodingImpl< encoding::EncoderTag > &  encoder) const
template size_t ndn::lp::NackHeader::wireEncode< encoding::EstimatorTag > ( EncodingImpl< encoding::EstimatorTag > &  encoder) const
std::ostream & ndn::lp::operator<< ( std::ostream &  os,
CachePolicyType  policy 
)

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

std::ostream & ndn::lp::operator<< ( std::ostream &  os,
NackReason  reason 
)

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

template size_t ndn::lp::Packet::wireEncode< encoding::EncoderTag > ( EncodingImpl< encoding::EncoderTag > &  encoder) const
template size_t ndn::lp::Packet::wireEncode< encoding::EstimatorTag > ( EncodingImpl< encoding::EstimatorTag > &  encoder) const

Variable Documentation

Definition at line 80 of file fields.hpp.

Definition at line 64 of file fields.hpp.

Definition at line 74 of file fields.hpp.

Definition at line 49 of file fields.hpp.

Definition at line 44 of file fields.hpp.

Definition at line 89 of file fields.hpp.

Definition at line 69 of file fields.hpp.

Definition at line 54 of file fields.hpp.

Definition at line 59 of file fields.hpp.

Definition at line 39 of file fields.hpp.