38   : m_certsByTime(m_certs.get<0>())
 
   39   , m_certsByName(m_certs.get<1>())
 
   40   , m_maxLifetime(maxLifetime)
 
   49   if (notAfterTime < now) {
 
   56                 << time::duration_cast<time::seconds>(removalTime - now));
 
   57   m_certs.insert(Entry(cert, removalTime));
 
   70   if (certPrefix.
size() > 0 && certPrefix[-1].isImplicitSha256Digest()) {
 
   71     NDN_LOG_INFO(
"Certificate search using name with the implicit digest is not yet supported");
 
   73   auto itr = m_certsByName.lower_bound(certPrefix);
 
   74   if (itr == m_certsByName.end() || !certPrefix.
isPrefixOf(itr->getCertName()))
 
   82   if (interest.
getName().
size() > 0 && interest.
getName()[-1].isImplicitSha256Digest()) {
 
   83     NDN_LOG_INFO(
"Certificate search using name with implicit digest is not yet supported");
 
   87   for (
auto i = m_certsByName.lower_bound(interest.
getName());
 
   90     const auto& cert = i->cert;
 
   99 CertificateCache::refresh()
 
  103   auto cIt = m_certsByTime.begin();
 
  104   while (cIt != m_certsByTime.end() && cIt->removalTime < now) {
 
  105     m_certsByTime.erase(cIt);
 
  106     cIt = m_certsByTime.begin();
 
const Name & getName() const noexcept
Get name.
 
Represents an Interest packet.
 
const Name & getName() const noexcept
 
bool matchesData(const Data &data) const
Check if Interest can be satisfied by data.
 
Represents an absolute name.
 
bool isPrefixOf(const Name &other) const
Check if this name is a prefix of another name.
 
size_t size() const
Returns the number of components.
 
std::pair< time::system_clock::TimePoint, time::system_clock::TimePoint > getPeriod() const
Get the stored validity period.
 
Represents a container for verified certificates.
 
void insert(const Certificate &cert)
Insert certificate into cache.
 
CertificateCache(const time::nanoseconds &maxLifetime=getDefaultLifetime())
Create an object for certificate cache.
 
void clear()
Remove all certificates from cache.
 
static time::nanoseconds getDefaultLifetime()
 
const Certificate * find(const Name &certPrefix) const
Get certificate given key name.
 
Represents an NDN certificate following the version 2.0 format.
 
ValidityPeriod getValidityPeriod() const
Get validity period of the certificate.
 
static time_point now() noexcept
 
#define NDN_LOG_DEBUG(expression)
Log at DEBUG level.
 
#define NDN_LOG_INFO(expression)
Log at INFO level.
 
#define NDN_LOG_INIT(name)
Define a non-member log module.
 
std::string toIsoString(const system_clock::time_point &timePoint)
Convert to the ISO 8601 string representation, basic format (YYYYMMDDTHHMMSS,fffffffff).
 
boost::chrono::nanoseconds nanoseconds