28 BOOST_CONCEPT_ASSERT((boost::EqualityComparable<Data>));
    32 static_assert(std::is_base_of<tlv::Error, Data::Error>::value,
    33               "Data::Error must inherit from tlv::Error");
    46 template<encoding::Tag TAG>
    57   size_t totalLength = 0;
    60   if (!wantUnsignedPortionOnly) {
    62       NDN_THROW(
Error(
"Requested wire format, but Data has not been signed"));
    64     totalLength += encoder.prependBlock(m_signature.
getValue());
    68   totalLength += encoder.prependBlock(m_signature.
getInfo());
    71   totalLength += encoder.prependBlock(
getContent());
    79   if (!wantUnsignedPortionOnly) {
    80     totalLength += encoder.prependVarNumber(totalLength);
    81     totalLength += encoder.prependVarNumber(
tlv::Data);
    87 Data::wireEncode<encoding::EncoderTag>(
EncodingBuffer&, bool) 
const;
    95   size_t totalLength = encoder.
size();
    96   totalLength += encoder.appendBlock(signatureValue);
    98   encoder.prependVarNumber(totalLength);
   111   EncodingEstimator estimator;
   114   EncodingBuffer buffer(estimatedSize, 0);
   146   for (++element; element != m_wire.
elements_end(); ++element) {
   147     switch (element->type()) {
   149         if (lastElement >= 2) {
   157         if (lastElement >= 3) {
   160         m_content = *element;
   165         if (lastElement >= 4) {
   173         if (lastElement >= 5) {
   197   if (m_fullName.
empty()) {
   199       NDN_THROW(
Error(
"Cannot compute full name because Data has no wire encoding (not signed)"));
   227   m_metaInfo = metaInfo;
   235     const_cast<Block&
>(m_content).encode();
   275   m_signature = signature;
   324   os << 
"Name: " << data.
getName() << 
"\n";
 const Block & wireEncode() const
Encode to a Block. 
Data & setContentType(uint32_t type)
const Name & getName() const
Get name. 
void wireDecode(const Block &wire)
Decode from wire in NDN Packet Format v0.2 or v0.3. 
std::string to_string(const T &val)
const Block & getContent() const
Get Content. 
Data & setSignature(const Signature &signature)
Set Signature. 
constexpr bool isCriticalType(uint32_t type)
Determine whether a TLV-TYPE is "critical" for evolvability purpose. 
Data & setName(const Name &name)
Set name. 
Name & appendImplicitSha256Digest(ConstBufferPtr digest)
Append an ImplicitSha256Digest component. 
std::ostream & operator<<(std::ostream &os, const Data &data)
void setInfo(const Block &info)
Decode SignatureInfo from wire format. 
Data(const Name &name=Name())
Construct an unsigned Data packet with given name and empty Content. 
Data & setContent(const Block &block)
Set Content from a block. 
const uint8_t * wire() const
Return a raw pointer to the beginning of the encoded wire. 
size_t value_size() const noexcept
Return the size of TLV-VALUE, aka TLV-LENGTH. 
void parse() const
Parse TLV-VALUE into sub-elements. 
void resetWire()
Clear wire encoding and cached FullName. 
Represents a TLV element of NDN packet format. 
bool hasWire() const noexcept
Check if the Block contains a fully encoded wire representation. 
element_const_iterator elements_begin() const
Equivalent to elements().begin() 
tlv::SignatureTypeValue getType() const
Get SignatureType. 
a concept check for TLV abstraction with .wireEncode method 
size_t size() const
Return the size of the encoded wire, i.e. 
element_const_iterator elements_end() const
Equivalent to elements().end() 
Data & setSignatureValue(const Block &value)
Set SignatureValue. 
const Signature & getSignature() const
Get Signature. 
void setValue(const Block &value)
Set SignatureValue. 
void reset() noexcept
Reset the Block to a default-constructed state. 
Block makeBinaryBlock(uint32_t type, const uint8_t *value, size_t length)
Create a TLV block copying TLV-VALUE from raw buffer. 
const Block & getInfo() const
Get SignatureInfo as wire format. 
const Block & getValue() const
Get SignatureValue. 
Represents an absolute name. 
const Name & getFullName() const
Get full name including implicit digest. 
Data & setFreshnessPeriod(time::milliseconds freshnessPeriod)
Data & setFinalBlock(optional< name::Component > finalBlockId)
const MetaInfo & getMetaInfo() const
Get MetaInfo. 
bool empty() const
Checks if the name is empty, i.e. 
ConstBufferPtr computeDigest()
Finalize and return the digest based on all previously supplied inputs. 
bool operator==(const Data &lhs, const Data &rhs)
size_t wireEncode(EncodingImpl< TAG > &encoder) const
Fast encoding or block size estimation. 
Data & setMetaInfo(const MetaInfo &metaInfo)
Set MetaInfo. 
void wireDecode(const Block &wire)
Decode name from wire encoding. 
a concept check for TLV abstraction with .wireEncode method 
const SignatureInfo & getSignatureInfo() const
Get SignatureInfo. 
Represents a Data packet. 
a concept check for TLV abstraction with .wireDecode method and constructible from Block ...
void clear()
Remove all components. 
EncodingImpl< EncoderTag > EncodingBuffer
uint32_t type() const
Return the TLV-TYPE of the Block. 
EncodingImpl< EstimatorTag > EncodingEstimator
Holds SignatureInfo and SignatureValue in a Data packet. 
shared_ptr< const Buffer > ConstBufferPtr