33 static_assert(std::is_base_of<tlv::Error, ChannelStatus::Error>::value,
34 "ChannelStatus::Error must inherit from tlv::Error");
45 template<encoding::Tag TAG>
49 size_t totalLength = 0;
52 reinterpret_cast<const uint8_t*>(m_localUri.c_str()), m_localUri.size());
54 totalLength += encoder.prependVarNumber(totalLength);
60 ChannelStatus::wireEncode<encoding::EncoderTag>(EncodingImpl<encoding::EncoderTag>&)
const;
63 ChannelStatus::wireEncode<encoding::EstimatorTag>(EncodingImpl<encoding::EstimatorTag>&)
const;
77 m_wire = buffer.block();
85 BOOST_THROW_EXCEPTION(
Error(
"Expecting ChannelStatus block"));
92 m_localUri.assign(reinterpret_cast<const char*>(val->value()), val->value_size());
96 BOOST_THROW_EXCEPTION(
Error(
"Missing required LocalUri field"));
104 m_localUri = localUri;
Copyright (c) 2013-2016 Regents of the University of California.
EncodingImpl< EstimatorTag > EncodingEstimator
Class representing a wire element of NDN-TLV packet format.
element_const_iterator elements_end() const
element_const_iterator elements_begin() const
EncodingImpl< EncoderTag > EncodingBuffer
const Block & wireEncode() const
element_container::const_iterator element_const_iterator
void reset()
Reset wire buffer of the element.
void parse() const
Parse wire buffer into subblocks.
bool hasWire() const
Check if the Block has fully encoded wire.
represents NFD Channel Status dataset
a concept check for TLV abstraction with .wireEncode method
a concept check for TLV abstraction with .wireDecode method and constructible from Block ...
void wireDecode(const Block &wire)
ChannelStatus & setLocalUri(const std::string localUri)