7 #ifndef NDN_MANAGEMENT_NFD_FORWARDER_STATUS_HPP
8 #define NDN_MANAGEMENT_NFD_FORWARDER_STATUS_HPP
10 #include "../encoding/tlv-nfd.hpp"
11 #include "../encoding/encoding-buffer.hpp"
73 m_nfdVersion = nfdVersion;
80 return m_startTimestamp;
87 m_startTimestamp = startTimestamp;
94 return m_currentTimestamp;
101 m_currentTimestamp = currentTimestamp;
108 return m_nNameTreeEntries;
115 m_nNameTreeEntries = nNameTreeEntries;
122 return m_nFibEntries;
129 m_nFibEntries = nFibEntries;
136 return m_nPitEntries;
143 m_nPitEntries = nPitEntries;
150 return m_nMeasurementsEntries;
157 m_nMeasurementsEntries = nMeasurementsEntries;
171 m_nCsEntries = nCsEntries;
178 return m_nInInterests;
185 m_nInInterests = nInInterests;
199 m_nInDatas = nInDatas;
206 return m_nOutInterests;
213 m_nOutInterests = nOutInterests;
227 m_nOutDatas = nOutDatas;
235 size_t m_nNameTreeEntries;
236 size_t m_nFibEntries;
237 size_t m_nPitEntries;
238 size_t m_nMeasurementsEntries;
240 uint64_t m_nInInterests;
242 uint64_t m_nOutInterests;
243 uint64_t m_nOutDatas;
245 mutable Block m_wire;
251 , m_startTimestamp(time::system_clock::TimePoint::min())
252 , m_currentTimestamp(time::system_clock::TimePoint::min())
253 , m_nNameTreeEntries(0)
256 , m_nMeasurementsEntries(0)
269 size_t totalLength = 0;
282 m_nMeasurementsEntries);
296 totalLength += encoder.prependVarNumber(totalLength);
313 m_wire = buffer.block();
321 throw Error(
"expecting Content block for Status payload");
332 throw Error(
"missing required NfdVersion field");
340 throw Error(
"missing required StartTimestamp field");
348 throw Error(
"missing required CurrentTimestamp field");
356 throw Error(
"missing required NNameTreeEntries field");
364 throw Error(
"missing required NFibEntries field");
372 throw Error(
"missing required NPitEntries field");
380 throw Error(
"missing required NMeasurementsEntries field");
388 throw Error(
"missing required NCsEntries field");
396 throw Error(
"missing required NInInterests field");
404 throw Error(
"missing required NInDatas field");
412 throw Error(
"missing required NOutInterests field");
420 throw Error(
"missing required NOutDatas field");
427 #endif // NDN_MANAGEMENT_NFD_FORWARDER_STATUS_HPP
ForwarderStatus & setNNameTreeEntries(size_t nNameTreeEntries)
represents NFD Forwarder Status
size_t getNMeasurementsEntries() const
int getNfdVersion() const
Error(const std::string &what)
const time::system_clock::TimePoint & getStartTimestamp() const
size_t getNFibEntries() const
uint64_t getNOutDatas() const
ForwarderStatus & setNOutInterests(uint64_t nOutInterests)
Class representing wire element of the NDN packet.
ForwarderStatus & setNFibEntries(size_t nFibEntries)
uint64_t readNonNegativeInteger(const Block &block)
ForwarderStatus & setStartTimestamp(const time::system_clock::TimePoint &startTimestamp)
uint64_t getNInInterests() const
uint64_t getNInDatas() const
size_t getNCsEntries() const
ForwarderStatus & setNInDatas(uint64_t nInDatas)
element_const_iterator elements_end() const
element_const_iterator elements_begin() const
ForwarderStatus & setNfdVersion(int nfdVersion)
uint64_t getNOutInterests() const
ForwarderStatus & setCurrentTimestamp(const time::system_clock::TimePoint ¤tTimestamp)
element_container::const_iterator element_const_iterator
ForwarderStatus & setNPitEntries(size_t nPitEntries)
ForwarderStatus & setNOutDatas(uint64_t nOutDatas)
void reset()
Reset wire buffer of the element.
size_t getNPitEntries() const
ForwarderStatus & setNMeasurementsEntries(size_t nMeasurementsEntries)
const Block & wireEncode() const
encode ForwarderStatus as a Content block
void parse() const
Parse wire buffer into subblocks.
system_clock::TimePoint fromUnixTimestamp(const milliseconds &duration)
Convert UNIX timestamp to system_clock::TimePoint.
milliseconds toUnixTimestamp(const system_clock::TimePoint &point)
Convert system_clock::TimePoint to UNIX timestamp.
void wireDecode(const Block &wire)
decode ForwarderStatus from a Content block
bool hasWire() const
Check if the Block has fully encoded wire.
ForwarderStatus(const Block &payload)
size_t getNNameTreeEntries() const
size_t prependNonNegativeIntegerBlock(EncodingImpl< P > &encoder, uint32_t type, uint64_t number)
helper methods
ForwarderStatus & setNCsEntries(size_t nCsEntries)
const time::system_clock::TimePoint & getCurrentTimestamp() const
ForwarderStatus & setNInInterests(uint64_t nInInterests)
Class representing wire element of the NDN packet.