Copyright (c) 2011-2015 Regents of the University of California. More...
Namespaces | |
crypto | |
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 | 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 | Certificate |
class | CertificateCache |
Interface for the cache of validated certificates. More... | |
class | CertificateCacheTtl |
Cache of validated certificates with freshness-based eviction policy. 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 | CFReleaser |
Helper class to wrap CoreFoundation object pointers. More... | |
class | CommandInterestGenerator |
Helper class to generate CommandInterests. More... | |
class | CommandInterestValidator |
Helper class to validate CommandInterests. More... | |
class | ConfigFile |
class | ContainerWithOnEmptySignal |
A simple container that will fire up onEmpty signal when there are no entries left. 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 |
Class to represent Exclude component in NDN interests. More... | |
class | Face |
Abstraction to communicate with local or remote NDN forwarder. More... | |
class | Hashable |
a concept check for CryptoPP hash algorithm More... | |
class | IdentityCertificate |
class | Interest |
represents an Interest packet More... | |
class | InterestFilter |
class | InterestFilterRecord |
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 pending interests against 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 | OBufferStream |
Class implementing interface similar to ostringstream, but to construct ndn::Buffer. More... | |
class | OID |
class | PendingInterest |
class | PublicKey |
class | RegexBackrefManager |
class | RegexBackrefMatcher |
class | RegexComponentMatcher |
class | RegexComponentSetMatcher |
class | RegexMatcher |
class | RegexPatternListMatcher |
class | RegexPseudoMatcher |
class | RegexRepeatMatcher |
class | RegexTopMatcher |
class | RegisteredPrefix |
class | RsaKeyParamsInfo |
RsaKeyParamInfo is used to initialize a SimplePublicKeyParams template for RSA key. More... | |
class | SecPublicInfo |
SecPublicInfo is a base class for the storage of public information. More... | |
class | SecPublicInfoSqlite3 |
class | SecRule |
class | SecRuleRelative |
class | SecRuleSpecific |
class | SecTpm |
SecTpm is the base class of the TPM classes. More... | |
class | SecTpmFile |
class | SecTpmOsx |
class | SecuredBag |
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 | StreamTransportImpl |
class | StreamTransportWithResolverImpl |
class | StringHelperError |
class | Tag |
Base class for interest/data 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 |
class | Transport |
class | UnixTransport |
class | ValidationRequest |
ValidationRequest contains information related to further validation. More... | |
class | Validator |
Validator is one of the main classes of the security library. More... | |
class | ValidatorConfig |
class | ValidatorNull |
class | ValidatorRegex |
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 Buffer > | ConstBufferPtr |
typedef shared_ptr< Buffer > | BufferPtr |
typedef function< void(const Interest &, Data &)> | OnData |
Callback called when expressed Interest gets satisfied with Data packet. More... | |
typedef function< void(const Interest &)> | OnTimeout |
Callback called when expressed Interest times out. More... | |
typedef function< void(const InterestFilter &, const Interest &)> | OnInterest |
Callback called when incoming Interest matches the specified InterestFilter. More... | |
typedef function< void(const Name &)> | RegisterPrefixSuccessCallback |
Callback called when registerPrefix or setInterestFilter command succeeds. More... | |
typedef function< void(const Name &, const std::string &)> | RegisterPrefixFailureCallback |
Callback called when registerPrefix or setInterestFilter command fails. More... | |
typedef function< void()> | UnregisterPrefixSuccessCallback |
Callback called when unregisterPrefix or unsetInterestFilter command succeeds. More... | |
typedef function< void(const std::string &)> | UnregisterPrefixFailureCallback |
Callback called when unregisterPrefix or unsetInterestFilter command fails. More... | |
typedef Name | PartialName |
Partial name abstraction to represent an arbitrary sequence of name components. More... | |
typedef SimplePublicKeyParams< RsaKeyParamsInfo > | RsaKeyParams |
RsaKeyParams carries parameters for RSA key. More... | |
typedef SimplePublicKeyParams< EcdsaKeyParamsInfo > | EcdsaKeyParams |
EcdsaKeyParams carries parameters for ECDSA key. More... | |
typedef SimpleSymmetricKeyParams< AesKeyParamsInfo > | AesKeyParams |
typedef function< void(const shared_ptr< const Interest > &)> | OnInterestValidated |
Callback to report a successful Interest validation. More... | |
typedef function< void(const shared_ptr< const Interest > &, const std::string &)> | OnInterestValidationFailed |
Callback to report a failed Interest validation. More... | |
typedef function< void(const shared_ptr< const Data > &)> | OnDataValidated |
Callback to report a successful Data validation. More... | |
typedef function< void(const shared_ptr< const Data > &, const std::string &)> | OnDataValidationFailed |
Callback to report a failed Data validation. More... | |
typedef boost::asio::basic_deadline_timer< time::steady_clock > | monotonic_deadline_timer |
typedef RegexTopMatcher | Regex |
Enumerations | |
enum | KeyType { KEY_TYPE_RSA = 0, KEY_TYPE_ECDSA = 1, KEY_TYPE_AES = 128, KEY_TYPE_NULL = 255 } |
enum | KeyClass { KEY_CLASS_PUBLIC, KEY_CLASS_PRIVATE, KEY_CLASS_SYMMETRIC } |
enum | DigestAlgorithm { DIGEST_ALGORITHM_SHA256 } |
enum | EncryptMode { ENCRYPT_MODE_DEFAULT, ENCRYPT_MODE_CFB_AES } |
enum | AclType { ACL_TYPE_PUBLIC, ACL_TYPE_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) |
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) |
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, const Certificate &cert) |
std::ostream & | operator<< (std::ostream &os, const PublicKey &key) |
static int | sqlite3_bind_string (sqlite3_stmt *statement, int index, const string &value, void(*destructor)(void *)) |
A utility function to call the normal sqlite3_bind_text where the value and length are value.c_str() and value.size(). More... | |
static string | sqlite3_column_string (sqlite3_stmt *statement, int column) |
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 |
void | ndn_digestSha256 (const uint8_t *data, size_t dataLength, uint8_t *digest) |
Compute the sha-256 digest of data. More... | |
std::ostream & | operator<< (std::ostream &os, const RegexMatcher ®ex) |
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 Buffer > | fromHex (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... | |
Copyright (c) 2011-2015 Regents of the University of California.
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) 2014-2015, 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) 2013-2014 Regents of the University of California.
Copyright (c) 2013-2015 Regents of the University of California.
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/.
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.
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.
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/.
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.
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.
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.
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.
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.
Parts of this implementation is based on daemondo command of MacPorts (https://www.macports.org/):
Copyright (c) 2005-2007 James Berry jberr All rights reserved. y@ma cport s.or g
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
typedef shared_ptr<const Buffer> ndn::ConstBufferPtr |
Definition at line 33 of file buffer.hpp.
typedef shared_ptr<Buffer> ndn::BufferPtr |
Definition at line 35 of file buffer.hpp.
typedef function<void(const Interest&, Data&)> ndn::OnData |
typedef function<void(const Interest&)> ndn::OnTimeout |
typedef function<void (const InterestFilter&, const Interest&)> ndn::OnInterest |
Callback called when incoming Interest matches the specified InterestFilter.
typedef function<void(const Name&)> ndn::RegisterPrefixSuccessCallback |
typedef function<void(const Name&, const std::string&)> ndn::RegisterPrefixFailureCallback |
typedef function<void()> ndn::UnregisterPrefixSuccessCallback |
typedef function<void(const std::string&)> ndn::UnregisterPrefixFailureCallback |
typedef Name ndn::PartialName |
RsaKeyParams carries parameters for RSA key.
Definition at line 158 of file key-params.hpp.
EcdsaKeyParams carries parameters for ECDSA key.
Definition at line 161 of file key-params.hpp.
Definition at line 232 of file key-params.hpp.
typedef function<void(const shared_ptr<const Interest>&)> ndn::OnInterestValidated |
Callback to report a successful Interest validation.
Definition at line 31 of file validation-request.hpp.
typedef function<void(const shared_ptr<const Interest>&, const std::string&)> ndn::OnInterestValidationFailed |
Callback to report a failed Interest validation.
Definition at line 35 of file validation-request.hpp.
typedef function<void(const shared_ptr<const Data>&)> ndn::OnDataValidated |
Callback to report a successful Data validation.
Definition at line 38 of file validation-request.hpp.
typedef function<void(const shared_ptr<const Data>&, const std::string&)> ndn::OnDataValidationFailed |
Callback to report a failed Data validation.
Definition at line 42 of file validation-request.hpp.
typedef boost::asio::basic_deadline_timer<time::steady_clock> ndn::monotonic_deadline_timer |
Definition at line 77 of file monotonic_deadline_timer.hpp.
typedef RegexTopMatcher ndn::Regex |
enum ndn::KeyType |
Enumerator | |
---|---|
KEY_TYPE_RSA | |
KEY_TYPE_ECDSA | |
KEY_TYPE_AES | |
KEY_TYPE_NULL |
Definition at line 40 of file security-common.hpp.
enum ndn::KeyClass |
Enumerator | |
---|---|
KEY_CLASS_PUBLIC | |
KEY_CLASS_PRIVATE | |
KEY_CLASS_SYMMETRIC |
Definition at line 51 of file security-common.hpp.
enum ndn::DigestAlgorithm |
Enumerator | |
---|---|
DIGEST_ALGORITHM_SHA256 |
Definition at line 57 of file security-common.hpp.
enum ndn::EncryptMode |
Enumerator | |
---|---|
ENCRYPT_MODE_DEFAULT | |
ENCRYPT_MODE_CFB_AES |
Definition at line 61 of file security-common.hpp.
enum ndn::AclType |
Enumerator | |
---|---|
ACL_TYPE_PUBLIC | |
ACL_TYPE_PRIVATE |
Definition at line 67 of file security-common.hpp.
template size_t ndn::Data::wireEncode< encoding::EncoderTag > | ( | EncodingImpl< encoding::EncoderTag > & | encoder, |
bool | unsignedPortion | ||
) | const |
template size_t ndn::Data::wireEncode< encoding::EstimatorTag > | ( | EncodingImpl< encoding::EstimatorTag > & | encoder, |
bool | unsignedPortion | ||
) | const |
std::ostream & ndn::operator<< | ( | std::ostream & | os, |
const Data & | data | ||
) |
Definition at line 340 of file data.cpp.
References ndn::Data::getContent(), ndn::Data::getMetaInfo(), ndn::Data::getName(), ndn::Data::getSignature(), ndn::Signature::getType(), ndn::Signature::getValue(), and ndn::Block::value_size().
Referenced by ndn::MetaInfo::Error::Error(), and ndn::InterestFilter::getRegexFilter().
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::Certificate::encode().
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::Certificate::decode().
|
inline |
Definition at line 98 of file oid.cpp.
Referenced by ndn::OID::encode().
|
inline |
Definition at line 108 of file oid.cpp.
Referenced by ndn::OID::decode().
template size_t ndn::Exclude::wireEncode< encoding::EncoderTag > | ( | EncodingImpl< encoding::EncoderTag > & | encoder | ) | const |
template size_t ndn::Exclude::wireEncode< encoding::EstimatorTag > | ( | EncodingImpl< encoding::EstimatorTag > & | encoder | ) | const |
std::ostream & ndn::operator<< | ( | std::ostream & | os, |
const Exclude & | exclude | ||
) |
Definition at line 268 of file exclude.cpp.
std::ostream & ndn::operator<< | ( | std::ostream & | os, |
const InterestFilter & | filter | ||
) |
Definition at line 58 of file interest-filter.cpp.
References ndn::InterestFilter::getPrefix(), ndn::InterestFilter::getRegexFilter(), and ndn::InterestFilter::hasRegexFilter().
template size_t ndn::Interest::wireEncode< encoding::EncoderTag > | ( | EncodingImpl< encoding::EncoderTag > & | encoder | ) | const |
template size_t ndn::Interest::wireEncode< encoding::EstimatorTag > | ( | EncodingImpl< encoding::EstimatorTag > & | encoder | ) | const |
std::ostream & ndn::operator<< | ( | std::ostream & | os, |
const Interest & | interest | ||
) |
Definition at line 447 of file interest.cpp.
References DEFAULT_INTEREST_LIFETIME, ndn::Exclude::empty(), ndn::Interest::getChildSelector(), ndn::Interest::getExclude(), ndn::Interest::getInterestLifetime(), ndn::Interest::getMaxSuffixComponents(), ndn::Interest::getMinSuffixComponents(), ndn::Interest::getMustBeFresh(), ndn::Interest::getName(), ndn::Interest::getNonce(), and ndn::Interest::hasNonce().
template size_t ndn::KeyLocator::wireEncode< encoding::EncoderTag > | ( | EncodingImpl< encoding::EncoderTag > & | encoder | ) | const |
template size_t ndn::KeyLocator::wireEncode< encoding::EstimatorTag > | ( | EncodingImpl< encoding::EstimatorTag > & | encoder | ) | const |
template size_t ndn::Link::encodeContent< encoding::EncoderTag > | ( | EncodingImpl< encoding::EncoderTag > & | encoder | ) | const |
template size_t ndn::Link::encodeContent< encoding::EstimatorTag > | ( | EncodingImpl< encoding::EstimatorTag > & | encoder | ) | const |
template size_t ndn::MetaInfo::wireEncode< encoding::EncoderTag > | ( | EncodingImpl< encoding::EncoderTag > & | encoder | ) | const |
template size_t ndn::MetaInfo::wireEncode< encoding::EstimatorTag > | ( | EncodingImpl< encoding::EstimatorTag > & | encoder | ) | const |
std::ostream & ndn::operator<< | ( | std::ostream & | os, |
const MetaInfo & | info | ||
) |
Definition at line 245 of file meta-info.cpp.
References ndn::name::Component::empty(), ndn::MetaInfo::getAppMetaInfo(), ndn::MetaInfo::getFinalBlockId(), ndn::MetaInfo::getFreshnessPeriod(), ndn::MetaInfo::getType(), and ndn::name::Component::toUri().
template size_t ndn::Name::wireEncode< encoding::EncoderTag > | ( | EncodingImpl< encoding::EncoderTag > & | encoder | ) | const |
template size_t ndn::Name::wireEncode< encoding::EstimatorTag > | ( | EncodingImpl< encoding::EstimatorTag > & | encoder | ) | const |
std::ostream & ndn::operator<< | ( | std::ostream & | os, |
const Name & | name | ||
) |
Definition at line 353 of file name.cpp.
References ndn::Name::begin(), ndn::Name::empty(), and ndn::Name::end().
std::istream & ndn::operator>> | ( | std::istream & | is, |
Name & | name | ||
) |
Definition at line 370 of file name.cpp.
References ndn::Name::Name().
std::ostream & ndn::operator<< | ( | std::ostream & | os, |
const Certificate & | cert | ||
) |
Definition at line 351 of file certificate.cpp.
References ndn::Certificate::printCertificate().
std::ostream & ndn::operator<< | ( | std::ostream & | os, |
const PublicKey & | key | ||
) |
Definition at line 143 of file public-key.cpp.
References ndn::Buffer::buf(), and ndn::PublicKey::get().
|
static |
A utility function to call the normal sqlite3_bind_text where the value and length are value.c_str() and value.size().
Definition at line 97 of file sec-public-info-sqlite3.cpp.
Referenced by ndn::SecPublicInfoSqlite3::addCertificate(), ndn::SecPublicInfoSqlite3::addIdentity(), ndn::SecPublicInfoSqlite3::addKey(), ndn::SecPublicInfoSqlite3::deleteCertificateInfo(), ndn::SecPublicInfoSqlite3::deleteIdentityInfo(), ndn::SecPublicInfoSqlite3::deletePublicKeyInfo(), ndn::SecPublicInfoSqlite3::doesCertificateExist(), ndn::SecPublicInfoSqlite3::doesIdentityExist(), ndn::SecPublicInfoSqlite3::doesPublicKeyExist(), ndn::SecPublicInfoSqlite3::getAllCertificateNamesOfKey(), ndn::SecPublicInfoSqlite3::getAllKeyNamesOfIdentity(), ndn::SecPublicInfoSqlite3::getCertificate(), ndn::SecPublicInfoSqlite3::getDefaultCertificateNameForKey(), ndn::SecPublicInfoSqlite3::getDefaultIdentity(), ndn::SecPublicInfoSqlite3::getDefaultKeyNameForIdentity(), ndn::SecPublicInfoSqlite3::getPublicKey(), ndn::SecPublicInfoSqlite3::getPublicKeyType(), and ndn::SecPublicInfoSqlite3::getTpmLocator().
|
static |
Definition at line 106 of file sec-public-info-sqlite3.cpp.
Referenced by ndn::SecPublicInfoSqlite3::getDefaultIdentity(), and ndn::SecPublicInfoSqlite3::getTpmLocator().
template size_t ndn::Selectors::wireEncode< encoding::EncoderTag > | ( | EncodingImpl< encoding::EncoderTag > & | encoder | ) | const |
template size_t ndn::Selectors::wireEncode< encoding::EstimatorTag > | ( | EncodingImpl< encoding::EstimatorTag > & | encoder | ) | const |
template size_t ndn::SignatureInfo::wireEncode< encoding::EncoderTag > | ( | EncodingImpl< encoding::EncoderTag > & | encoder | ) | const |
template size_t ndn::SignatureInfo::wireEncode< encoding::EstimatorTag > | ( | EncodingImpl< encoding::EstimatorTag > & | encoder | ) | const |
void ndn::ndn_digestSha256 | ( | const uint8_t * | data, |
size_t | dataLength, | ||
uint8_t * | digest | ||
) |
Compute the sha-256 digest of data.
data | Pointer to the input byte array. |
dataLength | The length of data. |
digest | A pointer to a buffer of size crypto::SHA256_DIGEST_SIZE to receive the data. |
Definition at line 30 of file crypto.cpp.
References ndn::crypto::SHA256_DIGEST_SIZE.
|
inline |
Definition at line 105 of file regex-matcher.hpp.
References ndn::RegexMatcher::getExpr().
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
.
os | Output stream |
buffer | The array of bytes |
length | Size of the array |
isUpperCase | if 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().
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
.
os | Output stream |
buffer | The array of bytes |
isUpperCase | if true (default) output use uppercase for hex values |
Definition at line 53 of file string-helper.cpp.
References ndn::Buffer::buf(), and printHex().
std::string ndn::toHex | ( | const uint8_t * | buffer, |
size_t | length, | ||
bool | isUpperCase = true |
||
) |
Return the hex representation of the bytes in array.
buffer | The array of bytes |
length | Size of the array |
isUpperCase | if 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().
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
.
buffer | The array of bytes |
isUpperCase | if true (default) output use uppercase for hex values |
Definition at line 70 of file string-helper.cpp.
References ndn::Buffer::buf(), and toHex().
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().
shared_ptr< const Buffer > ndn::fromHex | ( | const std::string & | hexString | ) |
Convert the hex string to buffer.
hexString | sequence of pairs of hex numbers (lower and upper case can be mixed) without any whitespace separators (e.g., "48656C6C6F2C20776F726C6421") |
StringHelperError | if 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().
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().
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().
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::StringHelperError::StringHelperError(), ndn::SecTpmFile::Impl::transformName(), and ndn::Name::wireDecode().
std::string ndn::unescape | ( | const std::string & | 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"
Definition at line 128 of file string-helper.cpp.
References fromHexChar().
Referenced by ndn::name::Component::fromEscapedString(), and ndn::StringHelperError::StringHelperError().
const size_t ndn::MAX_SIZE_OF_BLOCK_FROM_STREAM = 8800 |
Definition at line 46 of file block.cpp.
Referenced by ndn::Block::fromStream().
|
static |
Definition at line 36 of file oid.cpp.
Referenced by ndn::OID::decode().
const size_t ndn::MAX_NDN_PACKET_SIZE = 8800 |
practical limit of network layer packet size
If a packet is longer than this size, library and application MAY drop it.
Definition at line 39 of file tlv.hpp.
Referenced by ndn::mgmt::StatusDatasetContext::append(), nfd::DatagramFace< Protocol, Addressing >::DatagramFace(), nfd::SegmentPublisher< ndn::Face >::getMaxSegmentSize(), ndn::StreamTransportImpl< BaseTransport, Protocol >::handleAsyncReceive(), nfd::StreamFace< Protocol, FaceBase >::handleReceive(), nfd::DatagramFace< Protocol, Addressing >::handleReceive(), nfd::WebSocketFace::handleReceive(), nfd::UdpChannel::listen(), ndn::StreamTransportImpl< BaseTransport, Protocol >::resume(), nfd::UdpChannel::size(), and nfd::StreamFace< Protocol, FaceBase >::StreamFace().
Definition at line 32 of file exclude.cpp.
Definition at line 33 of file exclude.cpp.
Definition at line 34 of file exclude.cpp.
Definition at line 30 of file interest.cpp.
Definition at line 31 of file interest.cpp.
Definition at line 32 of file interest.cpp.
const unspecified_duration_type ndn::DEFAULT_INTEREST_LIFETIME = time::milliseconds(4000) |
default value for InterestLifetime
Definition at line 41 of file interest.hpp.
Referenced by operator<<(), ndn::PendingInterest::PendingInterest(), nfd::pit::FaceRecord::update(), ndn::Interest::wireDecode(), and ndn::Interest::wireEncode().
Definition at line 28 of file key-locator.cpp.
Definition at line 29 of file key-locator.cpp.
Definition at line 30 of file key-locator.cpp.
const size_t ndn::INVALID_SELECTED_DELEGATION_INDEX = std::numeric_limits<size_t>::max() |
Definition at line 30 of file link.hpp.
Referenced by ndn::Link::findDelegationFromWire(), ndn::Interest::hasSelectedDelegation(), ndn::Interest::setSelectedDelegation(), and ndn::Interest::unsetSelectedDelegation().
Definition at line 29 of file meta-info.cpp.
Definition at line 30 of file meta-info.cpp.
Definition at line 31 of file meta-info.cpp.
Definition at line 40 of file certificate.cpp.
Definition at line 41 of file certificate.cpp.
Definition at line 31 of file identity-certificate.cpp.
Definition at line 32 of file identity-certificate.cpp.
|
static |
Definition at line 26 of file key-params.cpp.
Referenced by ndn::RsaKeyParamsInfo::checkKeySize().
|
static |
Definition at line 27 of file key-params.cpp.
Referenced by ndn::EcdsaKeyParamsInfo::checkKeySize().
|
static |
Definition at line 28 of file key-params.cpp.
Referenced by ndn::AesKeyParamsInfo::checkKeySize().
|
static |
Definition at line 45 of file sec-public-info-sqlite3.cpp.
|
static |
Definition at line 52 of file sec-public-info-sqlite3.cpp.
|
static |
Definition at line 61 of file sec-public-info-sqlite3.cpp.
|
static |
Definition at line 75 of file sec-public-info-sqlite3.cpp.
Definition at line 29 of file secured-bag.cpp.
Definition at line 30 of file secured-bag.cpp.
|
static |
Referenced by ndn::Validator::verifySignature().
|
static |
Referenced by ndn::Validator::verifySignature().
Definition at line 29 of file selectors.cpp.
Definition at line 30 of file selectors.cpp.
Definition at line 31 of file selectors.cpp.
Definition at line 31 of file signature-info.cpp.
Definition at line 32 of file signature-info.cpp.
Definition at line 33 of file signature-info.cpp.
|
static |
Definition at line 86 of file regex-component-matcher.hpp.
Referenced by ndn::RegexComponentMatcher::compile(), and ndn::RegexComponentMatcher::match().