Classes | Typedefs | Enumerations | Functions
ndn Namespace Reference

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

Classes

class  AsyncSocketTransport
 AsyncSocketTransport is a helper template class for AsyncTcpTransport and AsyncUnixTransport to implement common socket communication tasks using Boost's asio io_service. More...
 
class  AsyncTcpTransport
 AsyncTcpTransport extends Transport for async communication over TCP using Boost's asio io_service. More...
 
class  AsyncUnixTransport
 AsyncUnixTransport extends Transport for async communication over a Unix socket using Boost's asio io_service. More...
 
class  BasicIdentityStorage
 BasicIdentityStorage extends IdentityStorage to implement a basic storage of identity, public keys and certificates using SQLite. More...
 
class  Blob
 A Blob holds a pointer to an immutable byte array implemented as const std::vector<uint8_t>. More...
 
class  BlobLite
 A BlobLite holds a pointer to an immutable pre-allocated buffer and its length This is like a JavaScript string which is a pointer to an immutable string. More...
 
class  BoostInfoParser
 A BoostInfoParser reads files in Boost's INFO format and constructs a BoostInfoTree. More...
 
class  BoostInfoTree
 BoostInfoTree is provided for compatibility with the Boost INFO property list format used in ndn-cxx. More...
 
class  Certificate
 
class  CertificateCache
 A CertificateCache is used to save other users' certificate during verification. More...
 
class  CertificateExtension
 A CertificateExtension represents the Extension entry in a certificate. More...
 
class  CertificateSubjectDescription
 A CertificateSubjectDescription represents the SubjectDescription entry in a Certificate. More...
 
class  ChangeCounter
 A ChangeCounter keeps a target object whose change count is tracked by a local change count. More...
 
class  ChronoSync2013
 ChronoSync2013 implements the NDN ChronoSync protocol as described in the 2013 paper "Let's ChronoSync: Decentralized Dataset State Synchronization in Named Data Networking". More...
 
class  CommandInterestGenerator
 An CommandInterestGenerator keeps track of a timestamp and generates command interests according to the NFD Signed Command Interests protocol: http://redmine.named-data.net/projects/nfd/wiki/Command_Interests. More...
 
class  ConfigPolicyManager
 A ConfigPolicyManager manages trust according to a configuration file in the Validator Configuration File Format (http://redmine.named-data.net/projects/ndn-cxx/wiki/CommandValidatorConf) More...
 
class  ControlParameters
 A ControlParameters holds a Name and other fields for a ControlParameters which is used, for example, in the command interest to register a prefix with a forwarder. More...
 
class  ControlParametersLite
 A ControlParametersLite holds a Name and other fields for a ControlParameters which is used, for example, in the command interest to register a prefix with a forwarder. More...
 
class  ControlResponse
 A ControlResponse holds a status code, status text and other fields for a ControlResponse which is used, for example, in the response from sending a register prefix control command to a forwarder. More...
 
class  ControlResponseLite
 A ControlResponseLite holds a status code, status text and other fields for a ControlResponse which is used, for example, in the response from sending a register prefix control command to a forwarder. More...
 
class  Data
 
class  DataLite
 A DataLite holds a NameLite and other fields to represent an NDN Data packet. More...
 
class  DelayedCallTable
 
class  DelegationSet
 A DelegationSet holds a list of DelegationSet::Delegation entries which is used as the content of a Link instance. More...
 
class  DelegationSetLite
 
class  DerDecodingException
 
class  DerEncodingException
 
class  DerException
 
class  DerNode
 DerNode implements the DER node types used in encoding/decoding DER-formatted data. More...
 
class  DigestSha256Signature
 A DigestSha256Signature extends Signature and holds the signature bits (which are only the SHA256 digest) and an empty SignatureInfo for a data packet or signed interest. More...
 
class  DigestTree
 
class  DynamicUInt8ArrayLite
 A DynamicUInt8ArrayLite holds a pointer to an allocated array, the length of the allocated array, and an optional realloc function which can changes its size. More...
 
class  DynamicUInt8Vector
 A DynamicUInt8Vector extends ndn_DynamicUInt8Array to hold a shared_ptr<vector<uint8_t> > for use with C functions which need an ndn_DynamicUInt8Array. More...
 
class  EcdsaKeyParams
 
class  ElementListener
 An ElementListener extends an ndn_ElementListener struct to proved an abstract virtual onReceivedElement function which wraps the onReceivedElement used by the ndn_ElementListener struct. More...
 
class  ElementListenerLite
 An ElementListenerLite holds an OnReceivedElementLite function pointer. More...
 
class  EncryptedContent
 An EncryptedContent holds an encryption type, a payload and other fields representing encrypted content. More...
 
class  EncryptedContentLite
 An EncryptedContentLite holds an encryption type, a payload and other fields representing encrypted content. More...
 
class  EncryptParamsLite
 An EncryptParamsLite holds an algorithm type and other parameters used to encrypt and decrypt. More...
 
class  Exclude
 An Exclude holds a vector of Exclude::Entry. More...
 
class  ExcludeLite
 An ExcludeLite holds an array of ExcludeLite::Entry. More...
 
class  Face
 The Face class provides the main methods for NDN communication. More...
 
class  FilePrivateKeyStorage
 FilePrivateKeyStorage extends PrivateKeyStorage to implement private key storage using files. More...
 
class  ForwardingFlags
 A ForwardingFlags object holds the flags which specify how the forwarding daemon should forward an interest for a registered prefix. More...
 
class  ForwardingFlagsLite
 A ForwardingFlagsLite holds the flags which specify how the forwarding daemon should forward an interest for a registered prefix. More...
 
class  GenericSignature
 A GenericSignature extends Signature and holds the encoding bytes of the SignatureInfo so that the application can process experimental signature types. More...
 
class  HmacWithSha256Signature
 An HmacWithSha256Signature extends Signature and holds the signature bits and other info representing an HmacWithSha256 signature in a data packet. More...
 
class  IdentityCertificate
 
class  IdentityManager
 An IdentityManager is the interface of operations related to identity, keys, and certificates. More...
 
class  IdentityStorage
 IdentityStorage is a base class for the storage of identity, public keys and certificates. More...
 
class  IncomingFaceId
 
class  IncomingFaceIdLite
 IncomingFaceIdLite represents the incoming face ID header field in an NDNLPv2 packet. More...
 
class  Interest
 An Interest holds a Name and other fields for an interest. More...
 
class  InterestFilter
 An InterestFilter holds a Name prefix and optional regex match expression for use in Face::setInterestFilter. More...
 
class  InterestFilterTable
 An InterestFilterTable is an internal class to hold a list of entries with an interest Filter and its OnInterestCallback. More...
 
class  InterestLite
 An InterestLite holds a NameLite and other fields for an interest. More...
 
class  KeyChain
 KeyChain is the main class of the security library. More...
 
class  KeyLocator
 
class  KeyLocatorLite
 A KeyLocatorLite holds a type and other info to represent the key which signs a Data packet. More...
 
class  KeyParams
 KeyParams is a base class for key parameters. More...
 
class  Link
 The Link class extends Data and represents a Link instance where the Data content is an encoded delegation set. More...
 
class  LpPacket
 An LpPacket represents an NDNLPv2 packet including header fields an an optional fragment. More...
 
class  LpPacketHeaderField
 This is a base class for LP packet header fields like NetworkNack. More...
 
class  LpPacketHeaderFieldLite
 
class  LpPacketLite
 
class  MemoryContentCache
 A MemoryContentCache holds a set of Data packets and answers an Interest to return the correct Data packet. More...
 
class  MemoryIdentityStorage
 MemoryIdentityStorage extends IdentityStorage and implements its methods to store identity, public key and certificate objects in memory. More...
 
class  MemoryPrivateKeyStorage
 MemoryPrivateKeyStorage extends PrivateKeyStorage to implement a simple in-memory private key store. More...
 
class  MetaInfo
 A MetaInfo holds the meta info which is signed inside the data packet. More...
 
class  MetaInfoLite
 A MetaInfoLite holds a type and other info to represent the meta info of a Data packet. More...
 
class  Name
 A Name holds an array of Name::Component and represents an NDN name. More...
 
class  NameLite
 A NameLite holds an array of NameLite::Component. More...
 
class  NegativeLengthException
 
class  NetworkNack
 
class  NetworkNackLite
 NetworkNackLite represents a network Nack packet and includes a Nack reason. More...
 
class  Node
 
class  NoVerifyPolicyManager
 
class  OID
 
class  PendingInterestTable
 A PendingInterestTable is an internal class to hold a list of pending interests with their callbacks. More...
 
class  PolicyManager
 A PolicyManager is an abstract base class to represent the policy for verifying data packets. More...
 
class  PrivateKeyStorage
 
class  ProtobufTlv
 ProtobufTlv has static methods to encode and decode an Protobuf Message object as NDN-TLV. More...
 
class  PublicKey
 
class  RegisteredPrefixTable
 A RegisteredPrefixTable is an internal class to hold a list of registered prefixes with information necessary to remove the registration later. More...
 
class  RsaKeyParams
 
class  SecurityException
 
class  SegmentFetcher
 SegmentFetcher is a utility class to the fetch latest version of segmented data. More...
 
class  SelfVerifyPolicyManager
 A SelfVerifyPolicyManager implements a PolicyManager to look in the IdentityStorage for the public key with the name in the KeyLocator (if available) and use it to verify the data packet, without searching a certificate chain. More...
 
class  Sha256WithEcdsaSignature
 A Sha256WithEcdsaSignature extends Signature and holds the signature bits and other info representing a SHA256-with-ECDSA signature in a data packet. More...
 
class  Sha256WithRsaSignature
 A Sha256WithRsaSignature extends Signature and holds the signature bits and other info representing a SHA256-with-RSA signature in a data packet. More...
 
class  SharedPointerChangeCounter
 A ChangeCounter keeps a shared_ptr to a target object whose change count is tracked by a local change count. More...
 
class  Signature
 A Signature is an abstract base class providing methods to work with the signature information in a Data packet. More...
 
class  SignatureLite
 A SignatureLite holds a signature type, a KeyLocatorLite, the signature bytes and other fields to represent the Signature block of a Data packet. More...
 
class  SignedBlob
 A SignedBlob extends Blob to keep the offsets of a signed portion (e.g., the bytes of Data packet). More...
 
class  TcpTransport
 
class  TcpTransportLite
 
class  ThreadsafeFace
 A ThreadsafeFace extends Face to use a Boost asio io_service to process events and schedule communication calls. More...
 
class  Tlv0_1_1WireFormat
 A Tlv0_1_1WireFormat extends WireFormat to override its virtual methods to implement encoding and decoding using NDN-TLV version 0.1.1. More...
 
class  Tlv0_1_1WireFormatLite
 A Tlv0_1_1WireFormatLite implements implement encoding and decoding using NDN-TLV version 0.1.1. More...
 
class  Tlv0_1WireFormat
 A Tlv0_1WireFormat extends Tlv0_1_1WireFormat so that it is an alias in case any applications use Tlv0_1WireFormat directly. More...
 
class  TlvDecoder
 A TlvDecoder extends a C ndn_TlvDecoder struct and wraps related functions. More...
 
class  TlvEncoder
 A TlvEncoder extends a C ndn_TlvEncoder struct and wraps related functions. More...
 
class  TlvWireFormat
 A TlvWireFormat extends WireFormat to override its virtual methods to implement encoding and decoding using the preferred implementation of NDN-TLV. More...
 
class  Transport
 
class  UdpTransport
 
class  UdpTransportLite
 
class  UnixTransport
 
class  UnixTransportLite
 
class  UnrecognizedDigestAlgorithmException
 
class  UnrecognizedKeyFormatException
 
class  ValidationRequest
 
class  WireFormat
 

Typedefs

typedef double Milliseconds
 A time interval represented as the number of milliseconds.
 
typedef double MillisecondsSince1970
 The calendar time represented as the number of milliseconds since 1/1/1970.
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< const Interest > &, const ptr_lib::shared_ptr< Data > &)> OnData
 An OnData function object is used to pass a callback to expressInterest.
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< const Interest > &)> OnTimeout
 An OnTimeout function object is used to pass a callback to expressInterest.
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< const Interest > &, const ptr_lib::shared_ptr< NetworkNack > &)> OnNetworkNack
 An OnNetworkNack function object is used to pass a callback to expressInterest.
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< const Name > &, const ptr_lib::shared_ptr< const Interest > &, Transport &, uint64_t)> OnInterest
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< const Name > &, const ptr_lib::shared_ptr< const Interest > &, Face &, uint64_t, const ptr_lib::shared_ptr< const InterestFilter > &)> OnInterestCallback
 An OnInterestCallback function object is used to pass a callback to setInterestFilter and optionally to registerPrefix.
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< const Name > &)> OnRegisterFailed
 An OnRegisterFailed function object is used to report when registerPrefix fails.
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< const Name > &, uint64_t)> OnRegisterSuccess
 An OnRegisterSuccess function object is used to report when registerPrefix succeeds.
 
typedef void(* OnReceivedElementLite) (ElementListenerLite *self, const uint8_t *element, size_t elementLength)
 
typedef std::vector< CertificateSubjectDescriptionSubjectDescriptionList
 
typedef std::vector< CertificateExtensionExtensionList
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< Data > &data)> OnVerified
 An OnVerified function object is used to pass a callback to verifyData to report a successful verification.
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< Data > &data)> OnVerifyFailed
 An OnVerifyFailed function object is used to pass a callback to verifyData to report a failed verification.
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< Interest > &interest)> OnVerifiedInterest
 An OnVerifiedInterest function object is used to pass a callback to verifyInterest to report a successful verification.
 
typedef func_lib::function< void(const ptr_lib::shared_ptr< Interest > &interest)> OnVerifyInterestFailed
 An OnVerifyInterestFailed function object is used to pass a callback to verifyInterest to report a failed verification.
 
typedef DerNode::DerSequence DerSequence
 
typedef DerNode::DerGeneralizedTime DerGeneralizedTime
 

Enumerations

enum  KeyType { KEY_TYPE_RSA = 0, KEY_TYPE_ECDSA = 1, KEY_TYPE_AES = 128 }
 
enum  KeyClass { KEY_CLASS_PUBLIC, KEY_CLASS_PRIVATE, KEY_CLASS_SYMMETRIC }
 
enum  DigestAlgorithm { DIGEST_ALGORITHM_SHA256 }
 
enum  DerNodeType {
  DerNodeType_Eoc = 0, DerNodeType_Boolean = 1, DerNodeType_Integer = 2, DerNodeType_BitString = 3,
  DerNodeType_OctetString = 4, DerNodeType_Null = 5, DerNodeType_ObjectIdentifier = 6, DerNodeType_ObjectDescriptor = 7,
  DerNodeType_External = 40, DerNodeType_Real = 9, DerNodeType_Enumerated = 10, DerNodeType_EmbeddedPdv = 43,
  DerNodeType_Utf8String = 12, DerNodeType_RelativeOid = 13, DerNodeType_Sequence = 48, DerNodeType_Set = 49,
  DerNodeType_NumericString = 18, DerNodeType_PrintableString = 19, DerNodeType_T61String = 20, DerNodeType_VideoTexString = 21,
  DerNodeType_Ia5String = 22, DerNodeType_UtcTime = 23, DerNodeType_GeneralizedTime = 24, DerNodeType_GraphicString = 25,
  DerNodeType_VisibleString = 26, DerNodeType_GeneralString = 27, DerNodeType_UniversalString = 28, DerNodeType_CharacterString = 29,
  DerNodeType_BmpString = 30
}
 The DerNodeType enum defines the known DER node types.
 

Functions

std::string toHex (const uint8_t *array, size_t arrayLength)
 Return the hex representation of the bytes in array. More...
 
void ndn_trim (std::string &str)
 Modify str in place to erase whitespace on the left and right. More...
 
std::ostream & operator<< (std::ostream &os, const Name &name)
 
std::ostream & operator<< (std::ostream &os, const Blob &blob)
 
void ndn_trim (string &str)
 
string toBase64 (const uint8_t *array, size_t arrayLength, bool addNewlines=false)
 Return the base64 representation of the bytes in array. More...
 
void fromBase64 (const string &input, vector< uint8_t > &output)
 
void fromBase64 (const std::string &input, std::vector< uint8_t > &output)
 Decode the base64 input string and write the binary result to output. More...
 
std::ostream & operator<< (std::ostream &os, const BoostInfoTree &tree)
 

Detailed Description

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

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

Copyright (C) 2016 Regents of the University of California.

Copyright (C) 2014-2016 Regents of the University of California.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Yingdi Yu yingd.nosp@m.i@cs.nosp@m..ucla.nosp@m..edu
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/encrypted-content https://github.com/named-data/ndn-group-encrypt

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/encrypt-params https://github.com/named-data/ndn-group-encrypt

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx fields.hpp https://github.com/named-data/ndn-cxx/blob/master/src/lp/fields.hpp

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx packet.hpp https://github.com/named-data/ndn-cxx/blob/master/src/lp/packet.hpp

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx nack.hpp https://github.com/named-data/ndn-cxx/blob/master/src/lp/nack.hpp

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: Alexander Afanasyev alexa.nosp@m.nder.nosp@m..afan.nosp@m.asye.nosp@m.v@ucl.nosp@m.a.ed.nosp@m.u
: Zhenkai Zhu zhenk.nosp@m.ai@c.nosp@m.s.ucl.nosp@m.a.ed.nosp@m.u

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu From PyNDN certificate_cache.py by Adeola Bannis. Originally from Yingdi Yu http://irl.cs.ucla.edu/~yingdi/.

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx util/segment-fetcher https://github.com/named-data/ndn-cxx

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Zhenkai Zhu zhenk.nosp@m.ai@c.nosp@m.s.ucl.nosp@m.a.ed.nosp@m.u
: Alexander Afanasyev alexa.nosp@m.nder.nosp@m..afan.nosp@m.asye.nosp@m.v@ucl.nosp@m.a.ed.nosp@m.u
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From PyNDN der.py by Adeola Bannis theco.nosp@m.dema.nosp@m.iden@.nosp@m.gmai.nosp@m.l.com.
: Originally from code in ndn-cxx by Yingdi Yu yingd.nosp@m.i@cs.nosp@m..ucla.nosp@m..edu

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu Derived from ChronoChat-js by Qiuhan Ding and Wentao Shang.

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu From PyNDN boost_info_parser by Adeola Bannis.

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu Derived from command-interest-generator.hpp by the NFD authors: https://github.com/named-data/NFD/blob/master/AUTHORS.md .

This program 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, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program 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 a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Typedef Documentation

typedef func_lib::function<void (const ptr_lib::shared_ptr<const Name>&, const ptr_lib::shared_ptr<const Interest>&, Transport&, uint64_t)> ndn::OnInterest
Deprecated:
Use OnInterestCallback.

Function Documentation

void ndn::fromBase64 ( const std::string &  input,
std::vector< uint8_t > &  output 
)

Decode the base64 input string and write the binary result to output.

Parameters
inputThe input base64 string.
outputWrite the result to output starting at index 0, calling output.resize() as needed.
void ndn::ndn_trim ( std::string &  str)

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

Parameters
strThe string to modify.
std::string ndn::toBase64 ( const uint8_t *  array,
size_t  arrayLength,
bool  addNewlines = false 
)

Return the base64 representation of the bytes in array.

Parameters
arrayThe array of bytes.
arrayLengthThe number of bytes in array.
addNewlines(optional) If true, add newlines to the output (good for writing to a file). If omitted, do not add newlines.
Returns
The base64 string.
string ndn::toHex ( const uint8_t *  array,
size_t  arrayLength 
)

Return the hex representation of the bytes in array.

Parameters
arrayThe array of bytes.
arrayLengthThe number of bytes in array.
Returns
The hex string.