ndn Namespace Reference

Namespaces

 block_literals
 
 command_interest
 
 detail
 Contains implementation details that are not part of the ndn-cxx public API.
 
 dns
 
 encoding
 
 ethernet
 
 exception
 
 io
 
 literals
 
 lp
 Contains classes and functions related to NDNLPv2.
 
 mgmt
 
 name
 
 net
 
 nfd
 Contains classes and functions related to the NFD Management protocol.
 
 random
 
 scheduler
 
 security
 Contains the ndn-cxx security framework.
 
 signal
 
 signed_interest
 
 time
 
 time_literals
 
 tlv
 Contains constants and low-level functions related to the NDN packet format.
 
 util
 

Classes

class  AsHex
 Helper class to convert a number to hexadecimal format, for use with stream insertion operators. More...
 
class  Block
 Represents a TLV element of the NDN packet format. More...
 
class  Buffer
 General-purpose automatically managed/resized buffer. More...
 
class  ConfigFile
 System configuration file for NDN platform. More...
 
class  Data
 Represents a Data packet. More...
 
class  DummyClientFace
 A client-side face for unit testing. More...
 
struct  DummyClientFaceOptions
 Options for DummyClientFace. More...
 
class  Face
 Provide a communication channel with local or remote NDN forwarder. More...
 
class  FaceUri
 The underlying protocol and address used by a Face. More...
 
class  InMemoryStorage
 Represents in-memory storage. More...
 
class  InMemoryStorageEntry
 Represents an in-memory storage entry. More...
 
class  InMemoryStorageFifo
 Provides in-memory storage employing First-In-First-Out (FIFO) replacement policy. More...
 
class  InMemoryStorageLfu
 Provides an in-memory storage with Least Frequently Used (LFU) replacement policy. More...
 
class  InMemoryStorageLru
 Provides in-memory storage employing Least Recently Used (LRU) replacement policy. More...
 
class  InMemoryStoragePersistent
 Provides application cache with persistent storage, of which no replacement policy will be employed. More...
 
class  Interest
 Represents an Interest packet. More...
 
class  InterestFilter
 Declares the set of Interests a producer can serve. More...
 
class  InterestFilterHandle
 Handle for a registered Interest filter. More...
 
class  KeyLocator
 
class  KeyParams
 Base class for key parameters. More...
 
class  Link
 Represents a LinkObject TLV element. More...
 
class  MetadataObject
 Class for RDR-style metadata encoding/decoding. More...
 
class  MetaInfo
 A MetaInfo holds the meta info which is signed inside the Data packet. More...
 
class  Name
 Represents an absolute name. More...
 
class  NotificationStreamItem
 Concept check for an item in a Notification Stream. More...
 
class  OBufferStream
 An output stream that writes to a Buffer. More...
 
class  ostream_joiner
 
class  PacketBase
 Base class to allow simple management of packet tags. More...
 
class  PendingInterestHandle
 Handle for a pending Interest. More...
 
class  PrefixAnnouncement
 A prefix announcement object that represents an application's intent of registering a prefix toward itself. More...
 
class  RegexBackrefManager
 
class  RegexBackrefMatcher
 
class  RegexComponentMatcher
 
class  RegexComponentSetMatcher
 
class  RegexMatcher
 
class  RegexPatternListMatcher
 
class  RegexPseudoMatcher
 
class  RegexRepeatMatcher
 
class  RegexTopMatcher
 
class  RegisteredPrefixHandle
 Handle for a registered prefix. More...
 
class  Segmenter
 Utility class to segment an object into multiple Data packets. More...
 
class  SegmentFetcher
 Utility class to fetch a versioned and segmented object. More...
 
struct  SegmentFetcherOptions
 Options for SegmentFetcher. More...
 
class  SignatureInfo
 Represents a SignatureInfo or InterestSignatureInfo TLV element. More...
 
class  SimplePublicKeyParams
 SimplePublicKeyParams is a template for public keys with only one parameter: size. More...
 
class  SimpleSymmetricKeyParams
 SimpleSymmetricKeyParams is a template for symmetric keys with only one parameter: size. More...
 
class  SimpleTag
 Provides a tag type for simple types. More...
 
class  StatusDatasetItem
 Concept check for an item in a Status Dataset. More...
 
class  StringHelperError
 
class  Tag
 Base class for packet tags that can hold any arbitrary information. More...
 
class  TagHost
 Base class to store tag information, e.g., inside Interest and Data packets. More...
 
class  TcpTransport
 A transport that uses a TCP socket for communication. More...
 
class  Transport
 Provides a "TLV-oriented" delivery service. More...
 
class  UnixTransport
 A transport that uses a Unix stream socket for communication. More...
 
class  WireDecodable
 A concept check for TLV abstraction with a wireDecode(Block) method and constructible from Block. More...
 
class  WireEncodable
 A concept check for TLV abstraction with a wireEncode() method. More...
 
class  WireEncodableWithEncodingBuffer
 A concept check for TLV abstraction with a wireEncode(EncodingBuffer) method. More...
 

Typedefs

using AesKeyParams = SimpleSymmetricKeyParams< detail::AesKeyParamsInfo >
 AesKeyParams carries parameters for AES key. More...
 
using BufferPtr = std::shared_ptr< Buffer >
 
using CanonizeProviders = boost::mp11::mp_list< UdpCanonizeProvider, TcpCanonizeProvider, EtherCanonizeProvider, DevCanonizeProvider, UdpDevCanonizeProvider >
 
using CanonizeProviderTable = std::map< std::string, std::shared_ptr< CanonizeProvider > >
 
using ConstBufferPtr = std::shared_ptr< const Buffer >
 
using DataCallback = std::function< void(const Interest &, const Data &)>
 Callback invoked when an expressed Interest is satisfied by a Data packet. More...
 
using EcKeyParams = SimplePublicKeyParams< detail::EcKeyParamsInfo >
 EcKeyParams carries parameters for EC key. More...
 
using HmacKeyParams = SimpleSymmetricKeyParams< detail::HmacKeyParamsInfo >
 HmacKeyParams carries parameters for HMAC key. More...
 
using InterestCallback = std::function< void(const InterestFilter &, const Interest &)>
 Callback invoked when an incoming Interest matches the specified InterestFilter. More...
 
using NackCallback = std::function< void(const Interest &, const lp::Nack &)>
 Callback invoked when a Nack is received in response to an expressed Interest. More...
 
using PartialName = Name
 Represents an arbitrary sequence of name components. More...
 
using Regex = RegexTopMatcher
 
using RegisterPrefixFailureCallback = std::function< void(const Name &, const std::string &)>
 Callback invoked when registerPrefix or setInterestFilter command fails. More...
 
using RegisterPrefixSuccessCallback = std::function< void(const Name &)>
 Callback invoked when registerPrefix or setInterestFilter command succeeds. More...
 
using RsaKeyParams = SimplePublicKeyParams< detail::RsaKeyParamsInfo >
 RsaKeyParams carries parameters for RSA key. More...
 
using ScopedInterestFilterHandle = detail::ScopedCancelHandle< InterestFilterHandle >
 Scoped handle for a registered Interest filter. More...
 
using ScopedPendingInterestHandle = detail::ScopedCancelHandle< PendingInterestHandle >
 Scoped handle for a pending Interest. More...
 
using ScopedRegisteredPrefixHandle = detail::ScopedCancelHandle< RegisteredPrefixHandle >
 Scoped handle for a registered prefix. More...
 
using TimeoutCallback = std::function< void(const Interest &)>
 Callback invoked when an expressed Interest times out. More...
 
using UnregisterPrefixFailureCallback = std::function< void(const std::string &)>
 Callback invoked when unregistering a prefix fails. More...
 
using UnregisterPrefixSuccessCallback = std::function< void()>
 Callback invoked when unregistering a prefix succeeds. More...
 

Enumerations

enum class  BlockCipherAlgorithm {
  NONE ,
  AES_CBC
}
 
enum class  CipherOperator {
  DECRYPT ,
  ENCRYPT
}
 
enum class  DigestAlgorithm {
  NONE = 0 ,
  SHA224 ,
  SHA256 ,
  SHA384 ,
  SHA512 ,
  BLAKE2B_512 ,
  BLAKE2S_256 ,
  SHA3_224 ,
  SHA3_256 ,
  SHA3_384 ,
  SHA3_512
}
 
enum class  KeyIdType {
  USER_SPECIFIED = 0 ,
  SHA256 = 1 ,
  RANDOM = 2
}
 The type of KeyId component in a key name. More...
 
enum class  KeyType {
  NONE = 0 ,
  RSA ,
  EC ,
  AES ,
  HMAC
}
 The type of a cryptographic key. More...
 

Functions

std::ostream & boost_test_print_type (std::ostream &os, const Buffer &buf)
 
template size_t Data::wireEncode< encoding::EncoderTag > (EncodingBuffer &, bool) const
 
template size_t Data::wireEncode< encoding::EstimatorTag > (EncodingEstimator &, bool) const
 
void escape (std::ostream &os, std::string_view str)
 
std::string escape (std::string_view str)
 Percent-encode a string. More...
 
shared_ptr< BufferfromHex (std::string_view hexString)
 Convert a hex string to a raw byte buffer. More...
 
constexpr int fromHexChar (char c) noexcept
 Convert the hex character c to an integer in [0, 15], or -1 if it's not a hex character. More...
 
template size_t Interest ::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t Interest ::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t KeyLocator ::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t KeyLocator ::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template<typename CharT , typename Traits , typename DelimT >
ostream_joiner< std::decay_t< DelimT >, CharT, Traits > make_ostream_joiner (std::basic_ostream< CharT, Traits > &os, DelimT &&delimiter)
 
template size_t MetaInfo ::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t MetaInfo ::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
template size_t Name ::wireEncode<::ndn::encoding::EncoderTag > (::ndn::EncodingBuffer &) const
 
template size_t Name ::wireEncode<::ndn::encoding::EstimatorTag > (::ndn::EncodingEstimator &) const
 
bool operator!= (const Data &lhs, const Data &rhs)
 
bool operator!= (const SignatureInfo &lhs, const SignatureInfo &rhs)
 
Block operator""_block (const char *input, std::size_t len)
 Construct a Block from hexadecimal input. More...
 
constexpr time::duration< long double, time::days::period > operator""_day (long double days)
 
constexpr time::days operator""_day (unsigned long long days)
 
constexpr time::duration< long double, time::days::period > operator""_days (long double days)
 
constexpr time::days operator""_days (unsigned long long days)
 
constexpr time::duration< long double, time::hours::period > operator""_h (long double hrs)
 
constexpr time::hours operator""_h (unsigned long long hrs)
 
constexpr time::duration< long double, time::minutes::period > operator""_min (long double mins)
 
constexpr time::minutes operator""_min (unsigned long long mins)
 
constexpr time::duration< long double, time::milliseconds::period > operator""_ms (long double msecs)
 
constexpr time::milliseconds operator""_ms (unsigned long long msecs)
 
constexpr time::duration< long double, time::nanoseconds::period > operator""_ns (long double nsecs)
 
constexpr time::nanoseconds operator""_ns (unsigned long long nsecs)
 
constexpr time::duration< long double, time::seconds::period > operator""_s (long double secs)
 
constexpr time::seconds operator""_s (unsigned long long secs)
 
constexpr time::duration< long double, time::microseconds::period > operator""_us (long double usecs)
 
constexpr time::microseconds operator""_us (unsigned long long usecs)
 
std::ostream & operator<< (std::ostream &os, BlockCipherAlgorithm algorithm)
 
std::ostream & operator<< (std::ostream &os, CipherOperator op)
 
std::ostream & operator<< (std::ostream &os, const Data &data)
 
std::ostream & operator<< (std::ostream &os, const Interest &interest)
 
std::ostream & operator<< (std::ostream &os, const InterestFilter &filter)
 
std::ostream & operator<< (std::ostream &os, const MetaInfo &info)
 
std::ostream & operator<< (std::ostream &os, const PrefixAnnouncement &pa)
 Print prefix announcement to a stream. More...
 
std::ostream & operator<< (std::ostream &os, const RegexMatcher &rm)
 
std::ostream & operator<< (std::ostream &os, const SignatureInfo &info)
 
std::ostream & operator<< (std::ostream &os, DigestAlgorithm algorithm)
 
std::ostream & operator<< (std::ostream &os, KeyIdType keyIdType)
 
std::ostream & operator<< (std::ostream &os, KeyType keyType)
 
bool operator== (const Data &lhs, const Data &rhs)
 
bool operator== (const SignatureInfo &lhs, const SignatureInfo &rhs)
 
std::istream & operator>> (std::istream &is, Name &name)
 Parse URI from stream as Name. More...
 
void printHex (std::ostream &os, span< const uint8_t > buffer, bool wantUpperCase=true)
 Output the hex representation of the bytes in buffer to the output stream os. More...
 
void printHex (std::ostream &os, uint64_t num, bool wantUpperCase=false)
 Output the hex representation of num to the output stream os. More...
 
template size_t SignatureInfo::wireEncode< encoding::EncoderTag > (EncodingBuffer &, SignatureInfo::Type) const
 
template size_t SignatureInfo::wireEncode< encoding::EstimatorTag > (EncodingEstimator &, SignatureInfo::Type) const
 
template<typename T >
constexpr std::underlying_type_t< T > to_underlying (T val) noexcept
 
std::string toHex (span< const uint8_t > buffer, bool wantUpperCase=true)
 Return a string containing the hex representation of the bytes in buffer. More...
 
constexpr char toHexChar (unsigned int n, bool wantUpperCase=true) noexcept
 Convert (the least significant nibble of) n to the corresponding hex character. More...
 
void unescape (std::ostream &os, std::string_view str)
 
std::string unescape (std::string_view str)
 Decode a percent-encoded string. More...
 

Variables

constexpr time::milliseconds DEFAULT_FRESHNESS_PERIOD = 0_ms
 Default value of FreshnessPeriod. More...
 
constexpr time::milliseconds DEFAULT_INTEREST_LIFETIME = 4_s
 Default value of InterestLifetime. More...
 
constexpr size_t MAX_KEY_DIGEST_OCTETS_TO_SHOW = 8
 
constexpr size_t MAX_NDN_PACKET_SIZE = 8800
 Practical size limit of a network-layer packet. More...
 
constexpr size_t MAX_SIZE_OF_BLOCK_FROM_STREAM = MAX_NDN_PACKET_SIZE
 
constexpr size_t MIN_CAPACITY = 16
 
constexpr time::milliseconds ZERO_WINDOW = 0_ms
 

Typedef Documentation

◆ AesKeyParams

AesKeyParams carries parameters for AES key.

Definition at line 306 of file key-params.hpp.

◆ BufferPtr

using ndn::BufferPtr = typedef std::shared_ptr<Buffer>

Definition at line 139 of file buffer.hpp.

◆ CanonizeProviders

using ndn::CanonizeProviders = typedef boost::mp11::mp_list<UdpCanonizeProvider, TcpCanonizeProvider, EtherCanonizeProvider, DevCanonizeProvider, UdpDevCanonizeProvider>

Definition at line 557 of file face-uri.cpp.

◆ CanonizeProviderTable

using ndn::CanonizeProviderTable = typedef std::map<std::string, std::shared_ptr<CanonizeProvider> >

Definition at line 564 of file face-uri.cpp.

◆ ConstBufferPtr

using ndn::ConstBufferPtr = typedef std::shared_ptr<const Buffer>

Definition at line 140 of file buffer.hpp.

◆ DataCallback

using ndn::DataCallback = typedef std::function<void(const Interest&, const Data&)>

Callback invoked when an expressed Interest is satisfied by a Data packet.

Definition at line 50 of file face.hpp.

◆ EcKeyParams

EcKeyParams carries parameters for EC key.

Definition at line 202 of file key-params.hpp.

◆ HmacKeyParams

HmacKeyParams carries parameters for HMAC key.

Definition at line 309 of file key-params.hpp.

◆ InterestCallback

using ndn::InterestCallback = typedef std::function<void(const InterestFilter&, const Interest&)>

Callback invoked when an incoming Interest matches the specified InterestFilter.

Definition at line 65 of file face.hpp.

◆ NackCallback

using ndn::NackCallback = typedef std::function<void(const Interest&, const lp::Nack&)>

Callback invoked when a Nack is received in response to an expressed Interest.

Definition at line 55 of file face.hpp.

◆ PartialName

using ndn::PartialName = typedef Name

Represents an arbitrary sequence of name components.

Definition at line 38 of file name.hpp.

◆ Regex

using ndn::Regex = typedef RegexTopMatcher

Definition at line 31 of file regex.hpp.

◆ RegisterPrefixFailureCallback

using ndn::RegisterPrefixFailureCallback = typedef std::function<void(const Name&, const std::string&)>

Callback invoked when registerPrefix or setInterestFilter command fails.

Definition at line 75 of file face.hpp.

◆ RegisterPrefixSuccessCallback

using ndn::RegisterPrefixSuccessCallback = typedef std::function<void(const Name&)>

Callback invoked when registerPrefix or setInterestFilter command succeeds.

Definition at line 70 of file face.hpp.

◆ RsaKeyParams

RsaKeyParams carries parameters for RSA key.

Definition at line 199 of file key-params.hpp.

◆ ScopedInterestFilterHandle

Scoped handle for a registered Interest filter.

Upon destruction of this handle, the Interest filter is canceled automatically. Most commonly, the application keeps a ScopedInterestFilterHandle as a class member field, so that it can cleanup its Interest filter when the class instance is destructed.

{
ScopedInterestFilterHandle hdl = face.setInterestFilter(prefix, onInterest);
} // hdl goes out of scope, unsetting the Interest filter
detail::ScopedCancelHandle< InterestFilterHandle > ScopedInterestFilterHandle
Scoped handle for a registered Interest filter.
Definition: face.hpp:591

Definition at line 591 of file face.hpp.

◆ ScopedPendingInterestHandle

Scoped handle for a pending Interest.

Upon destruction of this handle, the pending Interest is canceled automatically. Most commonly, the application keeps a ScopedPendingInterestHandle as a class member field, so that it can cleanup its pending Interest when the class instance is destructed.

{
ScopedPendingInterestHandle hdl = face.expressInterest(interest, satisfyCb, nackCb, timeoutCb);
} // hdl goes out of scope, canceling the pending Interest
detail::ScopedCancelHandle< PendingInterestHandle > ScopedPendingInterestHandle
Scoped handle for a pending Interest.
Definition: face.hpp:516

Definition at line 516 of file face.hpp.

◆ ScopedRegisteredPrefixHandle

Scoped handle for a registered prefix.

Upon destruction of this handle, the prefix is unregistered automatically. Most commonly, the application keeps a ScopedRegisteredPrefixHandle as a class member field, so that it can cleanup its prefix registration when the class instance is destructed. The application will not be notified whether the unregistration was successful.

{
ScopedRegisteredPrefixHandle hdl = face.registerPrefix(prefix, onSuccess, onFailure);
} // hdl goes out of scope, unregistering the prefix
detail::ScopedCancelHandle< RegisteredPrefixHandle > ScopedRegisteredPrefixHandle
Scoped handle for a registered prefix.
Definition: face.hpp:559

Definition at line 559 of file face.hpp.

◆ TimeoutCallback

using ndn::TimeoutCallback = typedef std::function<void(const Interest&)>

Callback invoked when an expressed Interest times out.

Definition at line 60 of file face.hpp.

◆ UnregisterPrefixFailureCallback

using ndn::UnregisterPrefixFailureCallback = typedef std::function<void(const std::string&)>

Callback invoked when unregistering a prefix fails.

Definition at line 85 of file face.hpp.

◆ UnregisterPrefixSuccessCallback

using ndn::UnregisterPrefixSuccessCallback = typedef std::function<void()>

Callback invoked when unregistering a prefix succeeds.

Definition at line 80 of file face.hpp.

Enumeration Type Documentation

◆ BlockCipherAlgorithm

Enumerator
NONE 
AES_CBC 

Definition at line 134 of file security-common.hpp.

◆ CipherOperator

enum ndn::CipherOperator
strong
Enumerator
DECRYPT 
ENCRYPT 

Definition at line 142 of file security-common.hpp.

◆ DigestAlgorithm

enum ndn::DigestAlgorithm
strong
Enumerator
NONE 
SHA224 
SHA256 
SHA384 
SHA512 
BLAKE2B_512 
BLAKE2S_256 
SHA3_224 
SHA3_256 
SHA3_384 
SHA3_512 

Definition at line 117 of file security-common.hpp.

◆ KeyIdType

enum ndn::KeyIdType
strong

The type of KeyId component in a key name.

Enumerator
USER_SPECIFIED 

User-specified key id.

It is the user's responsibility to ensure the uniqueness of the key names.

SHA256 

Use the SHA-256 hash of the public key as key id.

This KeyIdType guarantees the uniqueness of the key names.

RANDOM 

Use a 64-bit random number as key id.

This KeyIdType provides uniqueness (with very high probability) of the key names.

Definition at line 79 of file security-common.hpp.

◆ KeyType

enum ndn::KeyType
strong

The type of a cryptographic key.

Enumerator
NONE 

Unknown or unsupported key type.

RSA 

RSA key, supports sign/verify and encrypt/decrypt operations.

EC 

Elliptic Curve key (e.g. for ECDSA), supports sign/verify operations.

AES 

AES key, supports encrypt/decrypt operations.

HMAC 

HMAC key, supports sign/verify operations.

Definition at line 106 of file security-common.hpp.

Function Documentation

◆ boost_test_print_type()

std::ostream& ndn::boost_test_print_type ( std::ostream &  os,
const Buffer buf 
)

Definition at line 28 of file buffer.cpp.

◆ Data::wireEncode< encoding::EncoderTag >()

template size_t ndn::Data::wireEncode< encoding::EncoderTag > ( EncodingBuffer &  ,
bool   
) const

◆ Data::wireEncode< encoding::EstimatorTag >()

template size_t ndn::Data::wireEncode< encoding::EstimatorTag > ( EncodingEstimator &  ,
bool   
) const

◆ escape() [1/2]

void ndn::escape ( std::ostream &  os,
std::string_view  str 
)

Definition at line 89 of file string-helper.cpp.

◆ escape() [2/2]

std::string ndn::escape ( std::string_view  str)

Percent-encode a string.

This function will encode all characters that are not one of the following: ALPHA ("a" to "z" and "A" to "Z") / DIGIT (0 to 9) / "-" / "." / "_" / "~"

The hex encoding uses the numbers 0-9 and the uppercase letters A-F.

Examples:

escape("hello world") == "hello%20world"
escape("100%") == "100%25"
std::string escape(std::string_view str)
Percent-encode a string.
See also
RFC 3986 section 2

Definition at line 81 of file string-helper.cpp.

◆ fromHex()

std::shared_ptr< Buffer > ndn::fromHex ( std::string_view  hexString)

Convert a hex string to a raw byte buffer.

Parameters
hexStringSequence of pairs of hex numbers (lower and upper case can be mixed) without any whitespace separators (e.g., "48656C6C6F2C20776F726C6421")
Exceptions
StringHelperErrorInput string is invalid

Definition at line 65 of file string-helper.cpp.

◆ fromHexChar()

constexpr int ndn::fromHexChar ( char  c)
constexprnoexcept

Convert the hex character c to an integer in [0, 15], or -1 if it's not a hex character.

Definition at line 134 of file string-helper.hpp.

◆ Interest ::wireEncode<::ndn::encoding::EncoderTag >()

template size_t ndn::Interest ::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const

◆ Interest ::wireEncode<::ndn::encoding::EstimatorTag >()

template size_t ndn::Interest ::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const

◆ KeyLocator ::wireEncode<::ndn::encoding::EncoderTag >()

template size_t ndn::KeyLocator ::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const

◆ KeyLocator ::wireEncode<::ndn::encoding::EstimatorTag >()

template size_t ndn::KeyLocator ::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const

◆ make_ostream_joiner()

template<typename CharT , typename Traits , typename DelimT >
ostream_joiner<std::decay_t<DelimT>, CharT, Traits> ndn::make_ostream_joiner ( std::basic_ostream< CharT, Traits > &  os,
DelimT &&  delimiter 
)
inline

Definition at line 118 of file ostream-joiner.hpp.

◆ MetaInfo ::wireEncode<::ndn::encoding::EncoderTag >()

template size_t ndn::MetaInfo ::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const

◆ MetaInfo ::wireEncode<::ndn::encoding::EstimatorTag >()

template size_t ndn::MetaInfo ::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const

◆ Name ::wireEncode<::ndn::encoding::EncoderTag >()

template size_t ndn::Name ::wireEncode<::ndn::encoding::EncoderTag > ( ::ndn::EncodingBuffer &  ) const

◆ Name ::wireEncode<::ndn::encoding::EstimatorTag >()

template size_t ndn::Name ::wireEncode<::ndn::encoding::EstimatorTag > ( ::ndn::EncodingEstimator &  ) const

◆ operator!=() [1/2]

bool ndn::operator!= ( const Data lhs,
const Data rhs 
)
inline

Definition at line 409 of file data.hpp.

◆ operator!=() [2/2]

bool ndn::operator!= ( const SignatureInfo lhs,
const SignatureInfo rhs 
)
inline

Definition at line 258 of file signature-info.hpp.

◆ operator<<() [1/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
BlockCipherAlgorithm  algorithm 
)

Definition at line 91 of file security-common.cpp.

◆ operator<<() [2/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
CipherOperator  op 
)

Definition at line 103 of file security-common.cpp.

◆ operator<<() [3/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
const Data data 
)

Definition at line 376 of file data.cpp.

◆ operator<<() [4/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
const Interest interest 
)

Definition at line 773 of file interest.cpp.

◆ operator<<() [5/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
const InterestFilter filter 
)

Definition at line 65 of file interest-filter.cpp.

◆ operator<<() [6/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
const MetaInfo info 
)

Definition at line 226 of file meta-info.cpp.

◆ operator<<() [7/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
const PrefixAnnouncement pa 
)

Print prefix announcement to a stream.

The output is for debugging purposes only. The format may change at any time without notice.

Definition at line 126 of file prefix-announcement.cpp.

◆ operator<<() [8/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
const RegexMatcher rm 
)

Definition at line 74 of file regex-matcher.cpp.

◆ operator<<() [9/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
const SignatureInfo info 
)

Definition at line 345 of file signature-info.cpp.

◆ operator<<() [10/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
DigestAlgorithm  algorithm 
)

Definition at line 61 of file security-common.cpp.

◆ operator<<() [11/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
KeyIdType  keyIdType 
)

Definition at line 29 of file security-common.cpp.

◆ operator<<() [12/12]

std::ostream & ndn::operator<< ( std::ostream &  os,
KeyType  keyType 
)

Definition at line 43 of file security-common.cpp.

◆ operator==() [1/2]

bool ndn::operator== ( const Data lhs,
const Data rhs 
)

Definition at line 367 of file data.cpp.

◆ operator==() [2/2]

bool ndn::operator== ( const SignatureInfo lhs,
const SignatureInfo rhs 
)

Definition at line 338 of file signature-info.cpp.

◆ operator>>()

std::istream & ndn::operator>> ( std::istream &  is,
Name name 
)

Parse URI from stream as Name.

See also
https://docs.named-data.net/NDN-packet-spec/0.3/name.html#ndn-uri-scheme

Definition at line 346 of file name.cpp.

◆ printHex() [1/2]

void ndn::printHex ( std::ostream &  os,
span< const uint8_t >  buffer,
bool  wantUpperCase = true 
)

Output the hex representation of the bytes in buffer to the output stream os.

Parameters
osOutput stream
bufferRange of bytes to print in hexadecimal format
wantUpperCaseif true (the default) print uppercase hex chars

Each octet of input is always converted to two hex characters (e.g., "00" for octet==0). The output string is a continuous sequence of hex characters without any whitespace separators.

Definition at line 50 of file string-helper.cpp.

◆ printHex() [2/2]

void ndn::printHex ( std::ostream &  os,
uint64_t  num,
bool  wantUpperCase = false 
)

Output the hex representation of num to the output stream os.

Parameters
osOutput stream
numNumber to print in hexadecimal format
wantUpperCaseif true, print uppercase hex chars; the default is to use lowercase

The output string is a continuous sequence of hex characters without any whitespace separators.

Definition at line 36 of file string-helper.cpp.

◆ SignatureInfo::wireEncode< encoding::EncoderTag >()

template size_t ndn::SignatureInfo::wireEncode< encoding::EncoderTag > ( EncodingBuffer &  ,
SignatureInfo::Type   
) const

◆ SignatureInfo::wireEncode< encoding::EstimatorTag >()

template size_t ndn::SignatureInfo::wireEncode< encoding::EstimatorTag > ( EncodingEstimator &  ,
SignatureInfo::Type   
) const

◆ to_underlying()

template<typename T >
constexpr std::underlying_type_t<T> ndn::to_underlying ( val)
constexprnoexcept

Definition at line 44 of file backports.hpp.

◆ toHex()

std::string ndn::toHex ( span< const uint8_t >  buffer,
bool  wantUpperCase = true 
)

Return a string containing the hex representation of the bytes in buffer.

Parameters
bufferRange of bytes to convert to hexadecimal format
wantUpperCaseif true (the default) use uppercase hex chars

Each octet of input is always converted to two hex characters (e.g., "00" for octet==0). The output string is a continuous sequence of hex characters without any whitespace separators.

Definition at line 57 of file string-helper.cpp.

◆ toHexChar()

constexpr char ndn::toHexChar ( unsigned int  n,
bool  wantUpperCase = true 
)
constexprnoexcept

Convert (the least significant nibble of) n to the corresponding hex character.

Definition at line 123 of file string-helper.hpp.

◆ unescape() [1/2]

void ndn::unescape ( std::ostream &  os,
std::string_view  str 
)

Definition at line 117 of file string-helper.cpp.

◆ unescape() [2/2]

std::string ndn::unescape ( std::string_view  str)

Decode a percent-encoded string.

When % is not followed by two hex characters, the output is not transformed.

Examples:

unescape("hello%20world") == "hello world"
unescape("hello%20world%FooBar") == "hello world%FooBar"
std::string unescape(std::string_view str)
Decode a percent-encoded string.
See also
RFC 3986 section 2

Definition at line 109 of file string-helper.cpp.

Variable Documentation

◆ DEFAULT_FRESHNESS_PERIOD

constexpr time::milliseconds ndn::DEFAULT_FRESHNESS_PERIOD = 0_ms
inlineconstexpr

Default value of FreshnessPeriod.

Definition at line 38 of file meta-info.hpp.

◆ DEFAULT_INTEREST_LIFETIME

constexpr time::milliseconds ndn::DEFAULT_INTEREST_LIFETIME = 4_s
inlineconstexpr

Default value of InterestLifetime.

Definition at line 43 of file interest.hpp.

◆ MAX_KEY_DIGEST_OCTETS_TO_SHOW

constexpr size_t ndn::MAX_KEY_DIGEST_OCTETS_TO_SHOW = 8
constexpr

Definition at line 30 of file key-locator.cpp.

◆ MAX_NDN_PACKET_SIZE

constexpr size_t ndn::MAX_NDN_PACKET_SIZE = 8800
inlineconstexpr

Practical size limit of a network-layer packet.

If a packet is longer than this size, library and application MAY drop it.

Definition at line 41 of file tlv.hpp.

◆ MAX_SIZE_OF_BLOCK_FROM_STREAM

constexpr size_t ndn::MAX_SIZE_OF_BLOCK_FROM_STREAM = MAX_NDN_PACKET_SIZE
constexpr

Definition at line 43 of file block.cpp.

◆ MIN_CAPACITY

constexpr size_t ndn::MIN_CAPACITY = 16
constexpr

Definition at line 27 of file in-memory-storage.cpp.

◆ ZERO_WINDOW

constexpr time::milliseconds ndn::ZERO_WINDOW = 0_ms
constexpr

Definition at line 28 of file in-memory-storage.cpp.