NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
fields.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
22 #ifndef NDN_CXX_LP_FIELDS_HPP
23 #define NDN_CXX_LP_FIELDS_HPP
24 
25 #include "field-decl.hpp"
26 
27 #include "sequence.hpp"
28 #include "cache-policy.hpp"
29 #include "nack-header.hpp"
30 
31 #include <boost/mpl/set.hpp>
32 
33 namespace ndn {
34 namespace lp {
35 
36 typedef FieldDecl<field_location_tags::Header,
37  Sequence,
39 BOOST_CONCEPT_ASSERT((Field<SequenceField>));
40 
41 typedef FieldDecl<field_location_tags::Header,
42  uint64_t,
44 BOOST_CONCEPT_ASSERT((Field<FragIndexField>));
45 
46 typedef FieldDecl<field_location_tags::Header,
47  uint64_t,
49 BOOST_CONCEPT_ASSERT((Field<FragCountField>));
50 
51 typedef FieldDecl<field_location_tags::Header,
52  NackHeader,
54 BOOST_CONCEPT_ASSERT((Field<NackField>));
55 
56 typedef FieldDecl<field_location_tags::Header,
57  uint64_t,
59 BOOST_CONCEPT_ASSERT((Field<NextHopFaceIdField>));
60 
61 typedef FieldDecl<field_location_tags::Header,
64 BOOST_CONCEPT_ASSERT((Field<CachePolicyField>));
65 
66 typedef FieldDecl<field_location_tags::Header,
67  uint64_t,
69 BOOST_CONCEPT_ASSERT((Field<IncomingFaceIdField>));
70 
71 typedef FieldDecl<field_location_tags::Header,
72  uint64_t,
74 BOOST_CONCEPT_ASSERT((Field<CongestionMarkField>));
75 
76 typedef FieldDecl<field_location_tags::Header,
77  Sequence,
78  tlv::Ack,
79  true> AckField;
80 BOOST_CONCEPT_ASSERT((Field<AckField>));
81 
82 typedef FieldDecl<field_location_tags::Header,
83  Sequence,
85 BOOST_CONCEPT_ASSERT((Field<TxSequenceField>));
86 
87 typedef FieldDecl<field_location_tags::Header,
88  uint64_t,
90 BOOST_CONCEPT_ASSERT((Field<HopCountTagField>));
91 
97  std::pair<Buffer::const_iterator, Buffer::const_iterator>,
99 BOOST_CONCEPT_ASSERT((Field<FragmentField>));
100 
104 typedef boost::mpl::set<
109  NackField,
114  AckField,
116  HopCountTagField
118 
119 } // namespace lp
120 } // namespace ndn
121 
122 #endif // NDN_CXX_LP_FIELDS_HPP
Copyright (c) 2011-2015 Regents of the University of California.
FieldDecl< field_location_tags::Header, uint64_t, tlv::IncomingFaceId > IncomingFaceIdField
Definition: fields.hpp:68
FieldDecl< field_location_tags::Header, uint64_t, tlv::CongestionMark > CongestionMarkField
Definition: fields.hpp:73
uint64_t Sequence
represents a sequence number
Definition: sequence.hpp:35
FieldDecl< field_location_tags::Header, Sequence, tlv::Ack, true > AckField
Definition: fields.hpp:79
FieldDecl< field_location_tags::Header, Sequence, tlv::TxSequence > TxSequenceField
Definition: fields.hpp:84
FieldDecl< field_location_tags::Header, uint64_t, tlv::FragIndex > FragIndexField
Definition: fields.hpp:43
FieldDecl< field_location_tags::Header, uint64_t, tlv::FragCount > FragCountField
Definition: fields.hpp:48
FieldDecl< field_location_tags::Header, uint64_t, tlv::HopCountTag > HopCountTagField
Definition: fields.hpp:89
concept check for fields
Definition: field.hpp:61
FieldDecl< field_location_tags::Header, NackHeader, tlv::Nack > NackField
Definition: fields.hpp:53
boost::mpl::set< FragmentField, SequenceField, FragIndexField, FragCountField, NackField, NextHopFaceIdField, CachePolicyField, IncomingFaceIdField, CongestionMarkField, AckField, TxSequenceField, HopCountTagField > FieldSet
set of all field declarations
Definition: fields.hpp:117
FieldDecl< field_location_tags::Header, Sequence, tlv::Sequence > SequenceField
Definition: fields.hpp:38
represents a Network NACK header
Definition: nack-header.hpp:59
FieldDecl< field_location_tags::Header, CachePolicy, tlv::CachePolicy > CachePolicyField
Definition: fields.hpp:63
FieldDecl< field_location_tags::Fragment, std::pair< Buffer::const_iterator, Buffer::const_iterator >, tlv::Fragment > FragmentField
The value of the wire encoded field is the data between the provided iterators.
Definition: fields.hpp:98
FieldDecl< field_location_tags::Header, uint64_t, tlv::NextHopFaceId > NextHopFaceIdField
Definition: fields.hpp:58