NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
ndn Namespace Reference

Copyright (c) 2011-2015 Regents of the University of California. More...

Namespaces

 crypto
 
 detail
 
 dns
 
 encoding
 
 io
 
 lp
 
 mgmt
 
 name
 
 nfd
 
 oid
 
 random
 
 security
 
 signed_interest
 
 time
 
 tlv
 Namespace defining NDN-TLV related constants and procedures.
 
 util
 

Classes

class  AesKeyParamsInfo
 AesKeyParamsInfo is used to initialize a SimpleSymmetricKeyParams template for AES key. More...
 
class  bad_optional_access
 
class  Block
 Class representing a wire element of NDN-TLV packet format. More...
 
class  Buffer
 Class representing a general-use automatically managed/resized buffer. More...
 
class  ConfigFile
 System configuration file for NDN platform. More...
 
class  ContainerWithOnEmptySignal
 A container that emits onEmpty signal when it becomes empty. More...
 
class  Data
 represents a Data packet More...
 
class  DigestSha256
 Represent a SHA256 digest. More...
 
class  EcdsaKeyParamsInfo
 EcdsaKeyParamInfo is used to initialize a SimplePublicKeyParams template for ECDSA key. More...
 
class  Exclude
 Represents Exclude selector in NDN Interest. More...
 
class  Face
 Provide a communication channel with local or remote NDN forwarder. More...
 
class  Hashable
 a concept check for CryptoPP hash algorithm More...
 
struct  in_place_t
 
class  Interest
 represents an Interest packet More...
 
class  InterestFilter
 declares the set of Interests a producer can serve, which starts with a name prefix, plus an optional regular expression More...
 
class  InterestFilterRecord
 associates an InterestFilter with Interest callback More...
 
class  KeyLocator
 
class  KeyParams
 Base class of key parameters. More...
 
class  Link
 represents a Link instance More...
 
class  MatchInterestFilterId
 Functor to match InterestFilterId. More...
 
class  MatchPendingInterestId
 Functor to match PendingInterestId. More...
 
class  MatchRegisteredPrefixId
 Functor to match RegisteredPrefixId. More...
 
class  MetaInfo
 An MetaInfo holds the meta info which is signed inside the data packet. More...
 
class  Name
 Name abstraction to represent an absolute name. More...
 
class  nullopt_t
 
class  OBufferStream
 implements an output stream that constructs ndn::Buffer More...
 
class  Oid
 
class  optional
 
class  PendingInterest
 stores a pending Interest and associated callbacks More...
 
class  RegexBackrefManager
 
class  RegexBackrefMatcher
 
class  RegexComponentMatcher
 
class  RegexComponentSetMatcher
 
class  RegexMatcher
 
class  RegexPatternListMatcher
 
class  RegexPseudoMatcher
 
class  RegexRepeatMatcher
 
class  RegexTopMatcher
 
class  RegisteredPrefix
 stores information about a prefix registered in NDN forwarder More...
 
class  RsaKeyParamsInfo
 RsaKeyParamInfo is used to initialize a SimplePublicKeyParams template for RSA key. More...
 
class  SecRule
 
class  SecRuleRelative
 
class  SecRuleSpecific
 
class  Selectors
 Abstraction implementing Interest selectors. More...
 
class  Signature
 A Signature is storage for the signature-related information (info and value) in a Data packet. More...
 
class  SignatureInfo
 
class  SignatureSha256WithEcdsa
 represents a Sha256WithEcdsa signature. More...
 
class  SignatureSha256WithRsa
 Represent a SHA256-with-RSA signature. 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  StreamTransportImpl
 implementation detail of a Boost.Asio-based stream-oriented transport More...
 
class  StreamTransportWithResolverImpl
 implementation detail of a Boost.Asio-based stream-oriented transport with resolver support 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 using TCP socket More...
 
class  Transport
 provides TLV-block delivery service More...
 
class  UnixTransport
 a transport using Unix stream socket More...
 
class  WireDecodable
 a concept check for TLV abstraction with .wireDecode method and constructible from Block More...
 
class  WireEncodable
 a concept check for TLV abstraction with .wireEncode method More...
 
class  WireEncodableWithEncodingBuffer
 a concept check for TLV abstraction with .wireEncode method More...
 

Typedefs

typedef shared_ptr< const BufferConstBufferPtr
 
typedef shared_ptr< BufferBufferPtr
 
typedef Oid OID
 
typedef function< void(const Interest &, const Data &)> DataCallback
 Callback invoked when expressed Interest gets satisfied with a Data packet. More...
 
typedef function< void(const Interest &, const lp::Nack &)> NackCallback
 Callback invoked when Nack is sent in response to expressed Interest. More...
 
typedef function< void(const Interest &)> TimeoutCallback
 Callback invoked when expressed Interest times out. More...
 
typedef function< void(const Interest &, Data &)> OnData
 Callback invoked when expressed Interest gets satisfied with Data packet. More...
 
typedef function< void(const Interest &)> OnTimeout
 Callback invoked when expressed Interest times out. More...
 
typedef function< void(const InterestFilter &, const Interest &)> InterestCallback
 Callback invoked when incoming Interest matches the specified InterestFilter. More...
 
typedef function< void(const InterestFilter &, const Interest &)> OnInterest
 Callback invoked when incoming Interest matches the specified InterestFilter. More...
 
typedef function< void(const Name &)> RegisterPrefixSuccessCallback
 Callback invoked when registerPrefix or setInterestFilter command succeeds. More...
 
typedef function< void(const Name &, const std::string &)> RegisterPrefixFailureCallback
 Callback invoked when registerPrefix or setInterestFilter command fails. More...
 
typedef function< void()> UnregisterPrefixSuccessCallback
 Callback invoked when unregisterPrefix or unsetInterestFilter command succeeds. More...
 
typedef function< void(const std::string &)> UnregisterPrefixFailureCallback
 Callback invoked when unregisterPrefix or unsetInterestFilter command fails. More...
 
typedef Name PartialName
 Partial name abstraction to represent an arbitrary sequence of name components. More...
 
typedef SimplePublicKeyParams< RsaKeyParamsInfoRsaKeyParams
 RsaKeyParams carries parameters for RSA key. More...
 
typedef SimplePublicKeyParams< EcdsaKeyParamsInfoEcdsaKeyParams
 EcdsaKeyParams carries parameters for ECDSA key. More...
 
typedef SimpleSymmetricKeyParams< AesKeyParamsInfoAesKeyParams
 
typedef boost::asio::basic_deadline_timer< time::steady_clockmonotonic_deadline_timer
 
typedef RegexTopMatcher Regex
 

Enumerations

enum  KeyType { KeyType::NONE = 0, KeyType::RSA = 1, KeyType::EC = 2, KeyType::AES = 128 }
 
enum  KeyClass { KeyClass::NONE, KeyClass::PUBLIC, KeyClass::PRIVATE, KeyClass::SYMMETRIC }
 
enum  DigestAlgorithm { DigestAlgorithm::NONE = 0, DigestAlgorithm::SHA256 = 1 }
 
enum  BlockCipherAlgorithm { BlockCipherAlgorithm::NONE, BlockCipherAlgorithm::AES_CBC }
 
enum  CipherOperator { CipherOperator::DECRYPT = 0, CipherOperator::ENCRYPT = 1 }
 
enum  AclType { AclType::NONE, AclType::PUBLIC, AclType::PRIVATE }
 

Functions

template size_t Data::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder, bool unsignedPortion) const
 
template size_t Data::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder, bool unsignedPortion) const
 
std::ostream & operator<< (std::ostream &os, const Data &data)
 
size_t DEREncodeGeneralTime (CryptoPP::BufferedTransformation &bt, const time::system_clock::TimePoint &time)
 
void BERDecodeTime (CryptoPP::BufferedTransformation &bt, time::system_clock::TimePoint &time)
 
void encodeValue (CryptoPP::BufferedTransformation &bt, CryptoPP::word32 v)
 
size_t decodeValue (CryptoPP::BufferedTransformation &bt, CryptoPP::word32 &v)
 
bool operator== (const Exclude::ExcludeComponent &a, const Exclude::ExcludeComponent &b)
 
bool operator> (const Exclude::ExcludeComponent &a, const Exclude::ExcludeComponent &b)
 
std::ostream & operator<< (std::ostream &os, const Exclude::Range &range)
 
template size_t Exclude::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t Exclude::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
std::ostream & operator<< (std::ostream &os, const Exclude &exclude)
 
template<typename NetPkt >
static void extractLpLocalFields (NetPkt &netPacket, const lp::Packet &lpPacket)
 extract local fields from NDNLPv2 packet and tag onto a network layer packet More...
 
std::ostream & operator<< (std::ostream &os, const InterestFilter &filter)
 
template size_t Interest::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t Interest::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
std::ostream & operator<< (std::ostream &os, const Interest &interest)
 
template size_t KeyLocator::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t KeyLocator::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
template size_t Link::encodeContent< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t Link::encodeContent< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
template size_t MetaInfo::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t MetaInfo::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
std::ostream & operator<< (std::ostream &os, const MetaInfo &info)
 
template size_t Name::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t Name::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
std::ostream & operator<< (std::ostream &os, const Name &name)
 
std::istream & operator>> (std::istream &is, Name &name)
 
std::ostream & operator<< (std::ostream &os, KeyType keyType)
 
std::ostream & operator<< (std::ostream &os, KeyClass keyClass)
 
std::ostream & operator<< (std::ostream &os, DigestAlgorithm algorithm)
 
std::ostream & operator<< (std::ostream &os, BlockCipherAlgorithm algorithm)
 
std::ostream & operator<< (std::ostream &os, CipherOperator op)
 
std::ostream & operator<< (std::ostream &os, AclType aclType)
 
template size_t Selectors::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t Selectors::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
template size_t SignatureInfo::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t SignatureInfo::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
constexpr nullopt_t nullopt (0)
 
template<typename T >
constexpr bool operator== (const optional< T > &lhs, const optional< T > &rhs)
 
template<typename T >
constexpr bool operator!= (const optional< T > &lhs, const optional< T > &rhs)
 
template<typename T >
constexpr bool operator< (const optional< T > &lhs, const optional< T > &rhs)
 
template<typename T >
constexpr bool operator<= (const optional< T > &lhs, const optional< T > &rhs)
 
template<typename T >
constexpr bool operator> (const optional< T > &lhs, const optional< T > &rhs)
 
template<typename T >
constexpr bool operator>= (const optional< T > &lhs, const optional< T > &rhs)
 
template<typename T >
constexpr optional< typename std::decay< T >::type > make_optional (T &&value)
 
template<typename T , typename... Args>
constexpr optional< T > make_optional (Args &&... args)
 
template<typename T , typename ... Args>
unique_ptr< T > make_unique (Args &&... args)
 
template<typename V >
std::string to_string (const V &v)
 
template<typename T , typename Compare >
constexpr const T & clamp (const T &v, const T &lo, const T &hi, Compare comp)
 
template<typename T >
constexpr const T & clamp (const T &v, const T &lo, const T &hi)
 
std::ostream & operator<< (std::ostream &os, const RegexMatcher &regex)
 
void printHex (std::ostream &os, const uint8_t *buffer, size_t length, bool isUpperCase=true)
 Output the hex representation of the bytes in array to the output stream os. More...
 
void printHex (std::ostream &os, const Buffer &buffer, bool isUpperCase=true)
 Output the hex representation of the bytes in the buffer to the output stream os. More...
 
std::string toHex (const uint8_t *buffer, size_t length, bool isUpperCase=true)
 Return the hex representation of the bytes in array. More...
 
std::string toHex (const Buffer &buffer, bool isUpperCase=true)
 Return the hex representation of the bytes in the buffer to the output stream os. More...
 
int fromHexChar (uint8_t c)
 Convert the hex character to an integer from 0 to 15, or -1 if not a hex character. More...
 
shared_ptr< const BufferfromHex (const std::string &hexString)
 Convert the hex string to buffer. More...
 
void trimLeft (std::string &str)
 Modify str in place to erase whitespace on the left. More...
 
void trimRight (std::string &str)
 Modify str in place to erase whitespace on the right. More...
 
void trim (std::string &str)
 Modify str in place to erase whitespace on the left and right. More...
 
std::string unescape (const std::string &str)
 Decode a percent-encoded string. More...
 

Variables

 WireEncodable< Data >
 
 WireEncodableWithEncodingBuffer< Data >
 
 WireDecodable< Data >
 
const size_t MAX_SIZE_OF_BLOCK_FROM_STREAM = MAX_NDN_PACKET_SIZE
 
static const int OID_MAGIC_NUMBER = 40
 
const size_t MAX_NDN_PACKET_SIZE = 8800
 practical limit of network layer packet size More...
 
 WireEncodable< Exclude >
 
 WireEncodableWithEncodingBuffer< Exclude >
 
 WireDecodable< Exclude >
 
 WireEncodable< Interest >
 
 WireEncodableWithEncodingBuffer< Interest >
 
 WireDecodable< Interest >
 
const time::milliseconds DEFAULT_INTEREST_LIFETIME = time::milliseconds(4000)
 default value for InterestLifetime More...
 
 WireEncodable< KeyLocator >
 
 WireEncodableWithEncodingBuffer< KeyLocator >
 
 WireDecodable< KeyLocator >
 
 WireEncodable< Link >
 
 WireEncodableWithEncodingBuffer< Link >
 
 WireDecodable< Link >
 
const size_t INVALID_SELECTED_DELEGATION_INDEX = std::numeric_limits<size_t>::max()
 
 WireEncodable< MetaInfo >
 
 WireEncodableWithEncodingBuffer< MetaInfo >
 
 WireDecodable< MetaInfo >
 
 WireEncodable< Name >
 
 WireEncodableWithEncodingBuffer< Name >
 
 WireDecodable< Name >
 
static const uint32_t RSA_KEY_SIZES [] = {2048, 1024}
 
static const uint32_t ECDSA_KEY_SIZES [] = {256, 384}
 
static const uint32_t AES_KEY_SIZES [] = {64, 128, 256}
 
 WireEncodable< SecuredBag >
 
 WireDecodable< SecuredBag >
 
 WireEncodable< Selectors >
 
 WireEncodableWithEncodingBuffer< Selectors >
 
 WireDecodable< Selectors >
 
 WireEncodable< SignatureInfo >
 
 WireEncodableWithEncodingBuffer< SignatureInfo >
 
 WireDecodable< SignatureInfo >
 
constexpr in_place_t in_place {}
 
static const size_t BOOST_REGEXP_MARK_COUNT_CORRECTION
 

Detailed Description

Copyright (c) 2011-2015 Regents of the University of California.

Copyright (c) 2015-2016, Regents of the University of California, Arizona Board of Regents, Colorado State University, University Pierre & Marie Curie, Sorbonne University, Washington University in St.

Copyright (c) 2014, Regents of the University of California, Arizona Board of Regents, Colorado State University, University Pierre & Marie Curie, Sorbonne University, Washington University in St.

Copyright (c) 2015-2016 Regents of the University of California.

Copyright (c) 2013-2014 Regents of the University of California.

Copyright (c) 2013-2015 Regents of the University of California.

Copyright (c) 2013-2016 Regents of the University of California.

Copyright (c) 2014-2016, Regents of the University of California, Arizona Board of Regents, Colorado State University, University Pierre & Marie Curie, Sorbonne University, Washington University in St.

This file is part of ndnSIM. See AUTHORS for complete list of ndnSIM authors and contributors.

ndnSIM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndnSIM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with ndnSIM, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

Louis, Beijing Institute of Technology, The University of Memphis.

This file is part of NFD (Named Data Networking Forwarding Daemon). See AUTHORS.md for complete list of NFD authors and contributors.

NFD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with NFD, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Alexander Afanasyev http://lasr.cs.ucla.edu/afanasyev/index.html

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
: Alexander Afanasyev http://lasr.cs.ucla.edu/afanasyev/index.html
: Yingdi Yu http://irl.cs.ucla.edu/~yingdi/

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Eric Newberry enewb.nosp@m.erry.nosp@m.@emai.nosp@m.l.ar.nosp@m.izona.nosp@m..edu

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors. Original copyright notice from NFD:

Copyright (c) 2014, Regents of the University of California, Arizona Board of Regents, Colorado State University, University Pierre & Marie Curie, Sorbonne University, Washington University in St. Louis, Beijing Institute of Technology, The University of Memphis

This file is part of NFD (Named Data Networking Forwarding Daemon). See AUTHORS.md for complete list of NFD authors and contributors.

NFD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with NFD, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
Alexander Afanasyev http://lasr.cs.ucla.edu/afanasyev/index.html
Zhenkai Zhu http://irl.cs.ucla.edu/~zhenkai/

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Yingdi Yu http://irl.cs.ucla.edu/~yingdi/

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Yingdi Yu http://irl.cs.ucla.edu/~yingdi/
Zhiyi Zhang zhang.nosp@m.zhiy.nosp@m.i1919.nosp@m.@gma.nosp@m.il.co.nosp@m.m

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Zhiyi Zhang dream.nosp@m.erba.nosp@m.rrych.nosp@m.ang@.nosp@m.gmail.nosp@m..com

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Yingdi Yu http://irl.cs.ucla.edu/~yingdi/
Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Xingyu Ma http://www.linkedin.com/pub/xingyu-ma/1a/384/5a8
Yingdi Yu http://irl.cs.ucla.edu/~yingdi/
Alexander Afanasyev http://lasr.cs.ucla.edu/afanasyev/index.html

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Yingdi Yu http://irl.cs.ucla.edu/~yingdi/
Alexander Afanasyev http://lasr.cs.ucla.edu/afanasyev/index.html

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Author
Yingdi Yu http://irl.cs.ucla.edu/~yingdi/
Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
Alexander Afanasyev http://lasr.cs.ucla.edu/afanasyev/index.html

Louis, Beijing Institute of Technology, The University of Memphis

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Louis, Beijing Institute of Technology, The University of Memphis.

This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).

ndn-cxx library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received copies of the GNU General Public License and GNU Lesser General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See AUTHORS.md for complete list of ndn-cxx authors and contributors.

Typedef Documentation

◆ ConstBufferPtr

typedef shared_ptr<const Buffer> ndn::ConstBufferPtr

Definition at line 33 of file buffer.hpp.

◆ BufferPtr

typedef shared_ptr<Buffer> ndn::BufferPtr

Definition at line 35 of file buffer.hpp.

◆ OID

typedef Oid ndn::OID
Deprecated:
Use Oid type instead

Definition at line 97 of file oid.hpp.

◆ DataCallback

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

Callback invoked when expressed Interest gets satisfied with a Data packet.

Definition at line 67 of file face.hpp.

◆ NackCallback

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

Callback invoked when Nack is sent in response to expressed Interest.

Definition at line 72 of file face.hpp.

◆ TimeoutCallback

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

Callback invoked when expressed Interest times out.

Definition at line 77 of file face.hpp.

◆ OnData

typedef function<void(const Interest&, Data&)> ndn::OnData

Callback invoked when expressed Interest gets satisfied with Data packet.

Deprecated:
use DataCallback

Definition at line 83 of file face.hpp.

◆ OnTimeout

typedef function<void(const Interest&)> ndn::OnTimeout

Callback invoked when expressed Interest times out.

Deprecated:
use TimeoutCallback

Definition at line 89 of file face.hpp.

◆ InterestCallback

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

Callback invoked when incoming Interest matches the specified InterestFilter.

Definition at line 94 of file face.hpp.

◆ OnInterest

typedef function<void (const InterestFilter&, const Interest&)> ndn::OnInterest

Callback invoked when incoming Interest matches the specified InterestFilter.

Deprecated:
use InterestCallback

Definition at line 100 of file face.hpp.

◆ RegisterPrefixSuccessCallback

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

Callback invoked when registerPrefix or setInterestFilter command succeeds.

Definition at line 105 of file face.hpp.

◆ RegisterPrefixFailureCallback

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

Callback invoked when registerPrefix or setInterestFilter command fails.

Definition at line 110 of file face.hpp.

◆ UnregisterPrefixSuccessCallback

typedef function<void()> ndn::UnregisterPrefixSuccessCallback

Callback invoked when unregisterPrefix or unsetInterestFilter command succeeds.

Definition at line 115 of file face.hpp.

◆ UnregisterPrefixFailureCallback

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

Callback invoked when unregisterPrefix or unsetInterestFilter command fails.

Definition at line 120 of file face.hpp.

◆ PartialName

Partial name abstraction to represent an arbitrary sequence of name components.

Definition at line 36 of file name.hpp.

◆ RsaKeyParams

RsaKeyParams carries parameters for RSA key.

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

◆ EcdsaKeyParams

EcdsaKeyParams carries parameters for ECDSA key.

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

◆ AesKeyParams

◆ monotonic_deadline_timer

typedef boost::asio::basic_deadline_timer<time::steady_clock> ndn::monotonic_deadline_timer

Definition at line 78 of file monotonic_deadline_timer.hpp.

◆ Regex

Definition at line 31 of file regex.hpp.

Enumeration Type Documentation

◆ KeyType

enum ndn::KeyType
strong
Enumerator
NONE 
RSA 
EC 
AES 

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

◆ KeyClass

enum ndn::KeyClass
strong
Enumerator
NONE 
PUBLIC 
PRIVATE 
SYMMETRIC 

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

◆ DigestAlgorithm

enum ndn::DigestAlgorithm
strong
Enumerator
NONE 
SHA256 

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

◆ BlockCipherAlgorithm

Enumerator
NONE 
AES_CBC 

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

◆ CipherOperator

enum ndn::CipherOperator
strong
Enumerator
DECRYPT 
ENCRYPT 

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

◆ AclType

enum ndn::AclType
strong
Enumerator
NONE 
PUBLIC 
PRIVATE 

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

Function Documentation

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

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

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

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

◆ operator<<() [1/14]

◆ DEREncodeGeneralTime()

size_t ndn::DEREncodeGeneralTime ( CryptoPP::BufferedTransformation &  bt,
const time::system_clock::TimePoint time 
)

Definition at line 36 of file asn_ext.cpp.

References ndn::time::toIsoString().

Referenced by ndn::security::v1::Certificate::encode().

◆ BERDecodeTime()

void ndn::BERDecodeTime ( CryptoPP::BufferedTransformation &  bt,
time::system_clock::TimePoint time 
)

Definition at line 52 of file asn_ext.cpp.

References ndn::time::fromIsoString().

Referenced by ndn::security::v1::Certificate::decode().

◆ encodeValue()

void ndn::encodeValue ( CryptoPP::BufferedTransformation &  bt,
CryptoPP::word32  v 
)
inline

Definition at line 86 of file oid.cpp.

Referenced by ndn::Oid::encode().

◆ decodeValue()

size_t ndn::decodeValue ( CryptoPP::BufferedTransformation &  bt,
CryptoPP::word32 &  v 
)
inline

Definition at line 96 of file oid.cpp.

Referenced by ndn::Oid::decode().

◆ operator==() [1/2]

◆ operator>() [1/2]

◆ operator<<() [2/14]

std::ostream & ndn::operator<< ( std::ostream &  os,
const Exclude::Range range 
)

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

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

◆ operator<<() [3/14]

std::ostream & ndn::operator<< ( std::ostream &  os,
const Exclude exclude 
)

Definition at line 318 of file exclude.cpp.

◆ extractLpLocalFields()

template<typename NetPkt >
static void ndn::extractLpLocalFields ( NetPkt &  netPacket,
const lp::Packet lpPacket 
)
static

extract local fields from NDNLPv2 packet and tag onto a network layer packet

Definition at line 451 of file face.cpp.

References ndn::tlv::Data, ndn::lp::Packet::get(), ndn::lp::Packet::has(), and ndn::tlv::Interest.

◆ operator<<() [4/14]

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

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

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

◆ operator<<() [5/14]

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

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

◆ Link::encodeContent< encoding::EncoderTag >()

◆ Link::encodeContent< encoding::EstimatorTag >()

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

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

◆ operator<<() [6/14]

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

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

◆ operator<<() [7/14]

std::ostream & ndn::operator<< ( std::ostream &  os,
const Name name 
)

Definition at line 341 of file name.cpp.

References ndn::Name::begin(), ndn::Name::empty(), and ndn::Name::end().

◆ operator>>()

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

Definition at line 358 of file name.cpp.

References ndn::Name::Name().

◆ operator<<() [8/14]

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

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

References AES, EC, NONE, and RSA.

◆ operator<<() [9/14]

std::ostream & ndn::operator<< ( std::ostream &  os,
KeyClass  keyClass 
)

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

References NONE, PRIVATE, PUBLIC, and SYMMETRIC.

◆ operator<<() [10/14]

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

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

References NONE, and SHA256.

◆ operator<<() [11/14]

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

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

References AES_CBC, and NONE.

◆ operator<<() [12/14]

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

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

References DECRYPT, and ENCRYPT.

◆ operator<<() [13/14]

std::ostream & ndn::operator<< ( std::ostream &  os,
AclType  aclType 
)

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

References NONE, PRIVATE, and PUBLIC.

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

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

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

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

◆ nullopt()

constexpr nullopt_t ndn::nullopt ( )

◆ operator==() [2/2]

template<typename T >
constexpr bool ndn::operator== ( const optional< T > &  lhs,
const optional< T > &  rhs 
)

Definition at line 253 of file backports-optional.hpp.

References operator==().

◆ operator!=()

template<typename T >
constexpr bool ndn::operator!= ( const optional< T > &  lhs,
const optional< T > &  rhs 
)

◆ operator<()

template<typename T >
constexpr bool ndn::operator< ( const optional< T > &  lhs,
const optional< T > &  rhs 
)

Definition at line 267 of file backports-optional.hpp.

◆ operator<=()

template<typename T >
constexpr bool ndn::operator<= ( const optional< T > &  lhs,
const optional< T > &  rhs 
)

Definition at line 274 of file backports-optional.hpp.

◆ operator>() [2/2]

template<typename T >
constexpr bool ndn::operator> ( const optional< T > &  lhs,
const optional< T > &  rhs 
)

Definition at line 281 of file backports-optional.hpp.

References operator>().

◆ operator>=()

template<typename T >
constexpr bool ndn::operator>= ( const optional< T > &  lhs,
const optional< T > &  rhs 
)

◆ make_optional() [1/2]

template<typename T >
constexpr optional<typename std::decay<T>::type> ndn::make_optional ( T &&  value)

Definition at line 295 of file backports-optional.hpp.

◆ make_optional() [2/2]

template<typename T , typename... Args>
constexpr optional<T> ndn::make_optional ( Args &&...  args)

Definition at line 302 of file backports-optional.hpp.

References in_place.

◆ make_unique()

template<typename T , typename ... Args>
unique_ptr<T> ndn::make_unique ( Args &&...  args)
inline

Definition at line 40 of file backports.hpp.

References to_string().

◆ to_string()

◆ clamp() [1/2]

template<typename T , typename Compare >
constexpr const T& ndn::clamp ( const T &  v,
const T &  lo,
const T &  hi,
Compare  comp 
)

Definition at line 62 of file backports.hpp.

◆ clamp() [2/2]

template<typename T >
constexpr const T& ndn::clamp ( const T &  v,
const T &  lo,
const T &  hi 
)

Definition at line 69 of file backports.hpp.

Referenced by to_string().

◆ operator<<() [14/14]

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

Definition at line 104 of file regex-matcher.hpp.

References ndn::RegexMatcher::getExpr().

◆ printHex() [1/2]

void ndn::printHex ( std::ostream &  os,
const uint8_t *  buffer,
size_t  length,
bool  isUpperCase = true 
)

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

Parameters
osOutput stream
bufferThe array of bytes
lengthSize of the array
isUpperCaseif true (default) output use uppercase for hex values

Examples:

printHex(std::cout, "Hello, World!") outputs "48656C6C6F2C20776F726C6421"
printHex(std::cout, "Hello, World!", false) outputs "48656c6c6f2c20776f726c6421"

Each octet is always represented as two hex characters ("00" for octet==0).

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

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

Referenced by ndn::util::operator<<(), printHex(), ndn::StringHelperError::StringHelperError(), toHex(), and ndn::name::Component::toUri().

◆ printHex() [2/2]

void ndn::printHex ( std::ostream &  os,
const Buffer buffer,
bool  isUpperCase = true 
)

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

Parameters
osOutput stream
bufferThe array of bytes
isUpperCaseif true (default) output use uppercase for hex values

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

References ndn::Buffer::buf(), and printHex().

◆ toHex() [1/2]

std::string ndn::toHex ( const uint8_t *  buffer,
size_t  length,
bool  isUpperCase = true 
)

Return the hex representation of the bytes in array.

Parameters
bufferThe array of bytes
lengthSize of the array
isUpperCaseif true (default) output use uppercase for hex values

Examples:

toHex("Hello, World!") == "48656C6C6F2C20776F726C6421"
toHex("Hello, World!", false) == "48656c6c6f2c20776f726c6421"

Each octet is always represented as two hex characters ("00" for octet==0).

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

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

References printHex().

Referenced by ndn::StringHelperError::StringHelperError(), and toHex().

◆ toHex() [2/2]

std::string ndn::toHex ( const Buffer buffer,
bool  isUpperCase = true 
)

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

Parameters
bufferThe array of bytes
isUpperCaseif true (default) output use uppercase for hex values

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

References ndn::Buffer::buf(), and toHex().

◆ fromHexChar()

int ndn::fromHexChar ( uint8_t  c)

Convert the hex character to an integer from 0 to 15, or -1 if not a hex character.

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

Referenced by ndn::StringHelperError::StringHelperError(), and unescape().

◆ fromHex()

shared_ptr< const Buffer > ndn::fromHex ( const std::string &  hexString)

Convert the hex string to buffer.

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

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

References ndn::OBufferStream::buf().

Referenced by ndn::name::Component::fromEscapedString(), and ndn::StringHelperError::StringHelperError().

◆ trimLeft()

void ndn::trimLeft ( std::string &  str)

Modify str in place to erase whitespace on the left.

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

Referenced by ndn::StringHelperError::StringHelperError().

◆ trimRight()

void ndn::trimRight ( std::string &  str)

Modify str in place to erase whitespace on the right.

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

Referenced by ndn::StringHelperError::StringHelperError().

◆ trim()

void ndn::trim ( std::string &  str)

Modify str in place to erase whitespace on the left and right.

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

Referenced by ndn::name::Component::fromEscapedString(), ndn::Name::Name(), ndn::StringHelperError::StringHelperError(), and security::SecTpmFile::Impl::transformName().

◆ unescape()

std::string ndn::unescape ( const std::string &  str)

Decode a percent-encoded string.

See also
RFC 3986 section 2

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"

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

References fromHexChar().

Referenced by ndn::name::Component::fromEscapedString(), and ndn::StringHelperError::StringHelperError().

Variable Documentation

◆ WireEncodable< Data >

Definition at line 29 of file data.cpp.

◆ WireEncodableWithEncodingBuffer< Data >

Definition at line 30 of file data.cpp.

◆ WireDecodable< Data >

Definition at line 31 of file data.cpp.

◆ MAX_SIZE_OF_BLOCK_FROM_STREAM

const size_t ndn::MAX_SIZE_OF_BLOCK_FROM_STREAM = MAX_NDN_PACKET_SIZE

Definition at line 46 of file block.cpp.

Referenced by ndn::Block::fromStream().

◆ OID_MAGIC_NUMBER

const int ndn::OID_MAGIC_NUMBER = 40
static

Definition at line 30 of file oid.cpp.

Referenced by ndn::Oid::decode().

◆ MAX_NDN_PACKET_SIZE

◆ WireEncodable< Exclude >

Definition at line 92 of file exclude.cpp.

◆ WireEncodableWithEncodingBuffer< Exclude >

◆ WireDecodable< Exclude >

Definition at line 94 of file exclude.cpp.

◆ WireEncodable< Interest >

Definition at line 30 of file interest.cpp.

◆ WireEncodableWithEncodingBuffer< Interest >

◆ WireDecodable< Interest >

Definition at line 32 of file interest.cpp.

◆ DEFAULT_INTEREST_LIFETIME

const unspecified_duration_type ndn::DEFAULT_INTEREST_LIFETIME = time::milliseconds(4000)

◆ WireEncodable< KeyLocator >

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

◆ WireEncodableWithEncodingBuffer< KeyLocator >

◆ WireDecodable< KeyLocator >

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

◆ WireEncodable< Link >

Definition at line 35 of file link.cpp.

◆ WireEncodableWithEncodingBuffer< Link >

Definition at line 36 of file link.cpp.

◆ WireDecodable< Link >

Definition at line 37 of file link.cpp.

◆ INVALID_SELECTED_DELEGATION_INDEX

const size_t ndn::INVALID_SELECTED_DELEGATION_INDEX = std::numeric_limits<size_t>::max()

◆ WireEncodable< MetaInfo >

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

◆ WireEncodableWithEncodingBuffer< MetaInfo >

◆ WireDecodable< MetaInfo >

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

◆ WireEncodable< Name >

Definition at line 38 of file name.cpp.

◆ WireEncodableWithEncodingBuffer< Name >

Definition at line 39 of file name.cpp.

◆ WireDecodable< Name >

Definition at line 40 of file name.cpp.

◆ RSA_KEY_SIZES

const uint32_t ndn::RSA_KEY_SIZES[] = {2048, 1024}
static

Definition at line 26 of file key-params.cpp.

Referenced by ndn::RsaKeyParamsInfo::checkKeySize().

◆ ECDSA_KEY_SIZES

const uint32_t ndn::ECDSA_KEY_SIZES[] = {256, 384}
static

Definition at line 27 of file key-params.cpp.

Referenced by ndn::EcdsaKeyParamsInfo::checkKeySize().

◆ AES_KEY_SIZES

const uint32_t ndn::AES_KEY_SIZES[] = {64, 128, 256}
static

Definition at line 28 of file key-params.cpp.

Referenced by ndn::AesKeyParamsInfo::checkKeySize().

◆ WireEncodable< SecuredBag >

Definition at line 29 of file secured-bag.cpp.

◆ WireDecodable< SecuredBag >

Definition at line 30 of file secured-bag.cpp.

◆ WireEncodable< Selectors >

Definition at line 29 of file selectors.cpp.

◆ WireEncodableWithEncodingBuffer< Selectors >

◆ WireDecodable< Selectors >

Definition at line 31 of file selectors.cpp.

◆ WireEncodable< SignatureInfo >

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

◆ WireEncodableWithEncodingBuffer< SignatureInfo >

◆ WireDecodable< SignatureInfo >

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

◆ in_place

constexpr in_place_t ndn::in_place {}

Definition at line 59 of file backports-optional.hpp.

Referenced by make_optional().

◆ BOOST_REGEXP_MARK_COUNT_CORRECTION

const size_t ndn::BOOST_REGEXP_MARK_COUNT_CORRECTION
static
Initial value:
=
1

Definition at line 85 of file regex-component-matcher.hpp.

Referenced by ndn::RegexComponentMatcher::compile(), and ndn::RegexComponentMatcher::match().