ndn::security::ValidityPeriod Class Reference

Abstraction of validity period. More...

#include <ndn-cxx/security/validity-period.hpp>

Classes

class  Error
 

Public Member Functions

 ValidityPeriod ()
 Set validity period [UNIX epoch + 1 nanosecond, UNIX epoch] that is always invalid. More...
 
 ValidityPeriod (const Block &block)
 Create validity period from block. More...
 
 ValidityPeriod (const time::system_clock::TimePoint &notBefore, const time::system_clock::TimePoint &notAfter)
 Create validity period [notBefore, notAfter]. More...
 
std::pair< time::system_clock::TimePoint, time::system_clock::TimePointgetPeriod () const
 Get the stored validity period. More...
 
bool isValid (const time::system_clock::TimePoint &now=time::system_clock::now()) const
 Check if now falls within the validity period. More...
 
bool operator!= (const ValidityPeriod &other) const
 
bool operator== (const ValidityPeriod &other) const
 
ValidityPeriodsetPeriod (const time::system_clock::TimePoint &notBefore, const time::system_clock::TimePoint &notAfter)
 Set validity period [notBefore, notAfter]. More...
 
void wireDecode (const Block &wire)
 Decode ValidityPeriod from TLV block. More...
 
template<encoding::Tag TAG>
size_t wireEncode (EncodingImpl< TAG > &encoder) const
 Fast encoding or block size estimation. More...
 
const BlockwireEncode () const
 Encode ValidityPeriod into TLV block. More...
 

Detailed Description

Abstraction of validity period.

See also
docs/specs/certificate-format.rst

Definition at line 37 of file validity-period.hpp.

Constructor & Destructor Documentation

ndn::security::ValidityPeriod::ValidityPeriod ( )

Set validity period [UNIX epoch + 1 nanosecond, UNIX epoch] that is always invalid.

Definition at line 42 of file validity-period.cpp.

ndn::security::ValidityPeriod::ValidityPeriod ( const Block block)
explicit

Create validity period from block.

Definition at line 56 of file validity-period.cpp.

ndn::security::ValidityPeriod::ValidityPeriod ( const time::system_clock::TimePoint notBefore,
const time::system_clock::TimePoint notAfter 
)

Create validity period [notBefore, notAfter].

Parameters
notBeforeexclusive beginning of the validity period range
notAfterexclusive end of the validity period range
Note
The supplied time points will be rounded up to the whole seconds:
  • notBefore is rounded up the next whole second
  • notAfter is truncated to the previous whole second

Definition at line 48 of file validity-period.cpp.

Member Function Documentation

std::pair< time::system_clock::TimePoint, time::system_clock::TimePoint > ndn::security::ValidityPeriod::getPeriod ( ) const

Get the stored validity period.

Definition at line 141 of file validity-period.cpp.

bool ndn::security::ValidityPeriod::isValid ( const time::system_clock::TimePoint now = time::system_clock::now()) const

Check if now falls within the validity period.

Parameters
nowTime point to check if it falls within the period
Returns
periodBegin <= now and now <= periodEnd

Definition at line 147 of file validity-period.cpp.

bool ndn::security::ValidityPeriod::operator!= ( const ValidityPeriod other) const

Definition at line 160 of file validity-period.cpp.

bool ndn::security::ValidityPeriod::operator== ( const ValidityPeriod other) const

Definition at line 153 of file validity-period.cpp.

ValidityPeriod & ndn::security::ValidityPeriod::setPeriod ( const time::system_clock::TimePoint notBefore,
const time::system_clock::TimePoint notAfter 
)

Set validity period [notBefore, notAfter].

Parameters
notBeforeexclusive beginning of the validity period range
notAfterexclusive end of the validity period range
Note
The supplied time points will be rounded up to the whole seconds:
  • notBefore is rounded up the next whole second
  • notAfter is truncated to the previous whole second

Definition at line 130 of file validity-period.cpp.

void ndn::security::ValidityPeriod::wireDecode ( const Block wire)

Decode ValidityPeriod from TLV block.

Exceptions
Errorwhen an invalid TLV block supplied

Definition at line 96 of file validity-period.cpp.

template<encoding::Tag TAG>
size_t ndn::security::ValidityPeriod::wireEncode ( EncodingImpl< TAG > &  encoder) const

Fast encoding or block size estimation.

Definition at line 63 of file validity-period.cpp.

const Block & ndn::security::ValidityPeriod::wireEncode ( ) const

Encode ValidityPeriod into TLV block.

Definition at line 78 of file validity-period.cpp.