ndn::security::CertificateCacheTtl Class Reference

Cache of validated certificates with freshness-based eviction policy. More...

#include <certificate-cache-ttl.hpp>

Inheritance diagram for ndn::security::CertificateCacheTtl:
[legend]
Collaboration diagram for ndn::security::CertificateCacheTtl:
[legend]

Public Member Functions

 CertificateCacheTtl (boost::asio::io_service &io, const time::seconds &defaultTtl=time::seconds(3600))
 
virtual ~CertificateCacheTtl ()
 
virtual void insertCertificate (shared_ptr< const v1::IdentityCertificate > certificate)
 
virtual shared_ptr< const v1::IdentityCertificategetCertificate (const Name &certificateNameWithoutVersion)
 
virtual void reset ()
 
virtual size_t getSize ()
 
bool isEmpty ()
 

Protected Types

typedef std::map< Name, std::pair< shared_ptr< const v1::IdentityCertificate >, EventId > > Cache
 

Protected Attributes

time::seconds m_defaultTtl
 
Cache m_cache
 
boost::asio::io_service & m_io
 
Scheduler m_scheduler
 

Detailed Description

Cache of validated certificates with freshness-based eviction policy.

Validated certificates will stay in cache for the duration of their freshness period. The lifetime of the certificate in cache can be extended by "re-inserting" it in the cache.

Definition at line 40 of file certificate-cache-ttl.hpp.

Member Typedef Documentation

typedef std::map<Name, std::pair<shared_ptr<const v1::IdentityCertificate>, EventId> > ndn::security::CertificateCacheTtl::Cache
protected

Definition at line 73 of file certificate-cache-ttl.hpp.

Constructor & Destructor Documentation

ndn::security::CertificateCacheTtl::CertificateCacheTtl ( boost::asio::io_service &  io,
const time::seconds &  defaultTtl = time::seconds(3600) 
)
explicit

Definition at line 29 of file certificate-cache-ttl.cpp.

ndn::security::CertificateCacheTtl::~CertificateCacheTtl ( )
virtual

Definition at line 37 of file certificate-cache-ttl.cpp.

Member Function Documentation

shared_ptr< const v1::IdentityCertificate > ndn::security::CertificateCacheTtl::getCertificate ( const Name certificateNameWithoutVersion)
virtual

Implements ndn::security::CertificateCache.

Definition at line 48 of file certificate-cache-ttl.cpp.

size_t ndn::security::CertificateCacheTtl::getSize ( )
virtual

Implements ndn::security::CertificateCache.

Definition at line 64 of file certificate-cache-ttl.cpp.

void ndn::security::CertificateCacheTtl::insertCertificate ( shared_ptr< const v1::IdentityCertificate certificate)
virtual

Implements ndn::security::CertificateCache.

Definition at line 42 of file certificate-cache-ttl.cpp.

bool ndn::security::CertificateCache::isEmpty ( )
inlineinherited

Definition at line 57 of file certificate-cache.hpp.

void ndn::security::CertificateCacheTtl::reset ( )
virtual

Implements ndn::security::CertificateCache.

Definition at line 58 of file certificate-cache-ttl.cpp.

Field Documentation

Cache ndn::security::CertificateCacheTtl::m_cache
protected

Definition at line 76 of file certificate-cache-ttl.hpp.

time::seconds ndn::security::CertificateCacheTtl::m_defaultTtl
protected

Definition at line 75 of file certificate-cache-ttl.hpp.

boost::asio::io_service& ndn::security::CertificateCacheTtl::m_io
protected

Definition at line 77 of file certificate-cache-ttl.hpp.

Scheduler ndn::security::CertificateCacheTtl::m_scheduler
protected

Definition at line 78 of file certificate-cache-ttl.hpp.