7 #ifndef NDN_MANAGEMENT_NFD_LOCAL_CONTROL_HEADER_HPP
8 #define NDN_MANAGEMENT_NFD_LOCAL_CONTROL_HEADER_HPP
10 #include "../encoding/encoding-buffer.hpp"
11 #include "../encoding/tlv-nfd.hpp"
19 class Error :
public std::runtime_error
24 : std::runtime_error(what)
42 bool encodeIncomingFaceId =
true,
bool encodeNextHopFaceId =
true)
44 wireDecode(wire, encodeIncomingFaceId, encodeNextHopFaceId);
69 bool encodeIncomingFaceId,
bool encodeNextHopFaceId)
const;
79 bool encodeIncomingFaceId =
true,
bool encodeNextHopFaceId =
true);
81 inline static const Block&
90 empty(
bool encodeIncomingFaceId,
bool encodeNextHopFaceId)
const
107 return m_incomingFaceId;
113 m_incomingFaceId = incomingFaceId;
127 return m_nextHopFaceId;
133 m_nextHopFaceId = nextHopFaceId;
140 bool encodeIncomingFaceId,
bool encodeNextHopFaceId)
const;
143 uint64_t m_incomingFaceId;
144 uint64_t m_nextHopFaceId;
154 bool encodeIncomingFaceId,
bool encodeNextHopFaceId)
const
156 size_t totalLength = payloadSize;
170 totalLength += block.prependVarNumber(totalLength);
178 bool encodeIncomingFaceId,
bool encodeNextHopFaceId)
const
181 if (
empty(encodeIncomingFaceId, encodeNextHopFaceId))
182 throw Error(
"Requested wire for LocalControlHeader, but none of the fields are set or enabled");
185 size_t length =
wireEncode(estimator, payload.wireEncode().size(),
186 encodeIncomingFaceId, encodeNextHopFaceId);
189 wireEncode(buffer, payload.wireEncode().size(),
190 encodeIncomingFaceId, encodeNextHopFaceId);
192 return buffer.block(
false);
197 bool encodeIncomingFaceId,
198 bool encodeNextHopFaceId)
213 if (encodeIncomingFaceId)
217 if (encodeNextHopFaceId)
248 #endif // NDN_MANAGEMENT_NFD_LOCAL_CONTROL_HEADER_HPP
const element_container & elements() const
Get all subelements.
Class representing wire element of the NDN packet.
uint64_t readNonNegativeInteger(const Block &block)
element_const_iterator elements_end() const
element_const_iterator elements_begin() const
element_container::const_iterator element_const_iterator
size_t elements_size() const
void parse() const
Parse wire buffer into subblocks.
size_t prependNonNegativeIntegerBlock(EncodingImpl< P > &encoder, uint32_t type, uint64_t number)
helper methods
Class representing wire element of the NDN packet.
const uint64_t INVALID_FACE_ID