22 #ifndef NDN_CXX_SECURITY_VALIDITY_PERIOD_HPP
23 #define NDN_CXX_SECURITY_VALIDITY_PERIOD_HPP
98 std::pair<time::system_clock::TimePoint, time::system_clock::TimePoint>
103 template<encoding::Tag TAG>
125 return !(lhs != rhs);
131 return lhs.m_notBefore != rhs.m_notBefore ||
132 lhs.m_notAfter != rhs.m_notAfter;
136 typedef boost::chrono::time_point<time::system_clock, time::seconds> TimePoint;
138 TimePoint m_notBefore;
139 TimePoint m_notAfter;
141 mutable Block m_wire;
Represents a TLV element of the NDN packet format.
Represents a ValidityPeriod TLV element.
ValidityPeriod()
Set validity period [UNIX epoch + 1 nanosecond, UNIX epoch] that is always invalid.
bool isValid(const time::system_clock::TimePoint &now=time::system_clock::now()) const
Check if now falls within the validity period.
void wireDecode(const Block &wire)
Decode ValidityPeriod from TLV block.
static ValidityPeriod makeRelative(time::seconds validFrom, time::seconds validUntil, const time::system_clock::TimePoint &now=time::system_clock::now())
Construct ValidityPeriod relative to a timepoint.
std::pair< time::system_clock::TimePoint, time::system_clock::TimePoint > getPeriod() const
Get the stored validity period.
friend bool operator==(const ValidityPeriod &lhs, const ValidityPeriod &rhs)
friend bool operator!=(const ValidityPeriod &lhs, const ValidityPeriod &rhs)
ValidityPeriod & setPeriod(const time::system_clock::TimePoint ¬Before, const time::system_clock::TimePoint ¬After)
Set validity period [notBefore, notAfter].
const Block & wireEncode() const
Encode ValidityPeriod into TLV block.
static time_point now() noexcept
Represents an error in TLV encoding or decoding.
Error(const char *expectedType, uint32_t actualType)
#define NDN_CXX_DECLARE_WIRE_ENCODE_INSTANTIATIONS(ClassName)
std::ostream & operator<<(std::ostream &os, const AdditionalDescription &desc)
boost::chrono::seconds seconds