lp: encode sequence number as fixed-width integer
refs #4403
Change-Id: I37daeaf3d60dbaf81a8f38ec5deb72eea6dd89c2
diff --git a/src/lp/fields.hpp b/src/lp/fields.hpp
index ce3a834..890da2b 100644
--- a/src/lp/fields.hpp
+++ b/src/lp/fields.hpp
@@ -24,7 +24,6 @@
#include "field-decl.hpp"
-#include "sequence.hpp"
#include "cache-policy.hpp"
#include "nack-header.hpp"
#include "prefix-announcement.hpp"
@@ -41,12 +40,18 @@
typedef FieldDecl<field_location_tags::Header,
uint64_t,
- tlv::FragIndex> FragIndexField;
+ tlv::FragIndex,
+ false,
+ NonNegativeIntegerTag,
+ NonNegativeIntegerTag> FragIndexField;
BOOST_CONCEPT_ASSERT((Field<FragIndexField>));
typedef FieldDecl<field_location_tags::Header,
uint64_t,
- tlv::FragCount> FragCountField;
+ tlv::FragCount,
+ false,
+ NonNegativeIntegerTag,
+ NonNegativeIntegerTag> FragCountField;
BOOST_CONCEPT_ASSERT((Field<FragCountField>));
typedef FieldDecl<field_location_tags::Header,
@@ -56,7 +61,10 @@
typedef FieldDecl<field_location_tags::Header,
uint64_t,
- tlv::NextHopFaceId> NextHopFaceIdField;
+ tlv::NextHopFaceId,
+ false,
+ NonNegativeIntegerTag,
+ NonNegativeIntegerTag> NextHopFaceIdField;
BOOST_CONCEPT_ASSERT((Field<NextHopFaceIdField>));
typedef FieldDecl<field_location_tags::Header,
@@ -66,12 +74,18 @@
typedef FieldDecl<field_location_tags::Header,
uint64_t,
- tlv::IncomingFaceId> IncomingFaceIdField;
+ tlv::IncomingFaceId,
+ false,
+ NonNegativeIntegerTag,
+ NonNegativeIntegerTag> IncomingFaceIdField;
BOOST_CONCEPT_ASSERT((Field<IncomingFaceIdField>));
typedef FieldDecl<field_location_tags::Header,
uint64_t,
- tlv::CongestionMark> CongestionMarkField;
+ tlv::CongestionMark,
+ false,
+ NonNegativeIntegerTag,
+ NonNegativeIntegerTag> CongestionMarkField;
BOOST_CONCEPT_ASSERT((Field<CongestionMarkField>));
typedef FieldDecl<field_location_tags::Header,
@@ -94,17 +108,18 @@
PrefixAnnouncement,
tlv::PrefixAnnouncement> PrefixAnnouncementField;
BOOST_CONCEPT_ASSERT((Field<PrefixAnnouncementField>));
-/**
- * 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.
+
+/** \brief 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.
*/
typedef FieldDecl<field_location_tags::Fragment,
std::pair<Buffer::const_iterator, Buffer::const_iterator>,
tlv::Fragment> FragmentField;
BOOST_CONCEPT_ASSERT((Field<FragmentField>));
-/**
- * \brief set of all field declarations
+/** \brief Set of all field declarations.
*/
typedef boost::mpl::set<
FragmentField,