size_t CoordinateLsa::wireEncode(ndn::EncodingImpl<TAG>& block) const { size_t totalLength = 0; size_t doubleLength = 10; const uint8_t* doubleBytes1; for (auto it = m_hyperbolicAngle.rbegin(); it != m_hyperbolicAngle.rend(); ++it) { doubleBytes1 = reinterpret_cast<const uint8_t*>(&*it); totalLength += block.prependByteArrayBlock(ndn::tlv::nlsr::Double, doubleBytes1, 8); totalLength += block.prependVarNumber(doubleLength); totalLength += block.prependVarNumber(ndn::tlv::nlsr::HyperbolicAngle); } const uint8_t* doubleBytes2 = reinterpret_cast<const uint8_t*>(&m_hyperbolicRadius); totalLength += block.prependByteArrayBlock(ndn::tlv::nlsr::Double, doubleBytes2, 8); totalLength += block.prependVarNumber(doubleLength); totalLength += block.prependVarNumber(ndn::tlv::nlsr::HyperbolicRadius); totalLength += m_lsaInfo.wireEncode(block); totalLength += block.prependVarNumber(totalLength); totalLength += block.prependVarNumber(ndn::tlv::nlsr::CoordinateLsa); return totalLength; }
size_t EndorseExtension::wireEncode(ndn::EncodingImpl<T>& block) const { size_t totalLength = 0; // EndorseExtension := ENDORSE-EXTENSION-TYPE TLV-LENGTH // EntryData+ // // EntryData := ENTRYDATA-TYPE TLV-LENGTH // String // // EntryData for (std::list<std::string>::const_reverse_iterator it = m_entries.rbegin(); it != m_entries.rend(); it++) { const uint8_t *entryWire = reinterpret_cast<const uint8_t*>(it->c_str()); totalLength += block.prependByteArrayBlock(tlv::EntryData, entryWire, it->length()); } // EndorseExtension totalLength += block.prependVarNumber(totalLength); totalLength += block.prependVarNumber(tlv::EndorseExtension); return totalLength; }
size_t Adjacency::wireEncode(ndn::EncodingImpl<TAG>& encoder) const { size_t totalLength = 0; totalLength += prependNonNegativeIntegerBlock(encoder, ndn::tlv::nlsr::Cost, m_cost); totalLength += encoder.prependByteArrayBlock( ndn::tlv::nlsr::Uri, reinterpret_cast<const uint8_t*>(m_uri.c_str()), m_uri.size()); totalLength += m_name.wireEncode(encoder); totalLength += encoder.prependVarNumber(totalLength); totalLength += encoder.prependVarNumber(ndn::tlv::nlsr::Adjacency); return totalLength; }