30 const time::seconds& defaultTtl)
31 : m_defaultTtl(defaultTtl)
46 shared_ptr<const v1::IdentityCertificate>
51 return it->second.first;
53 return shared_ptr<v1::IdentityCertificate>();
69 CertificateCacheTtl::insert(shared_ptr<const v1::IdentityCertificate> certificate)
71 time::milliseconds expire = (certificate->getFreshnessPeriod() >= time::seconds::zero() ?
81 bind(&CertificateCacheTtl::remove,
82 this, certificate->getName()));
84 m_cache[index] = std::make_pair(certificate, eventId);
88 CertificateCacheTtl::remove(
const Name& certificateName)
97 CertificateCacheTtl::removeAll()
PartialName getPrefix(ssize_t nComponents) const
Extract a prefix (PartialName) of the name, containing first nComponents components.
Copyright (c) 2011-2015 Regents of the University of California.
CertificateCacheTtl(boost::asio::io_service &io, const time::seconds &defaultTtl=time::seconds(3600))
EventId scheduleEvent(const time::nanoseconds &after, const Event &event)
Schedule a one-time event after the specified delay.
virtual void insertCertificate(shared_ptr< const v1::IdentityCertificate > certificate)
void cancelEvent(const EventId &eventId)
Cancel a scheduled event.
Table::const_iterator iterator
std::shared_ptr< ns3::EventId > EventId
virtual ~CertificateCacheTtl()
Name abstraction to represent an absolute name.
virtual shared_ptr< const v1::IdentityCertificate > getCertificate(const Name &certificateNameWithoutVersion)
time::seconds m_defaultTtl