22 #ifndef NLSR_LSA_LSA_HPP
23 #define NLSR_LSA_LSA_HPP
30 #include <ndn-cxx/util/scheduler.hpp>
44 class Error :
public ndn::tlv::Error
47 using ndn::tlv::Error::Error;
58 Lsa(
const ndn::Name& originRouter, uint64_t seqNo,
59 ndn::time::system_clock::time_point expirationTimePoint);
97 const ndn::time::system_clock::time_point&
121 virtual std::tuple<bool, std::list<ndn::Name>, std::list<ndn::Name>>
122 update(
const std::shared_ptr<Lsa>& lsa) = 0;
124 virtual const ndn::Block&
128 template<ndn::encoding::Tag TAG>
130 wireEncode(ndn::EncodingImpl<TAG>& block)
const;
Data abstraction for Lsa Lsa := LSA-TYPE TLV-LENGTH Name SequenceNumber ExpirationTimePoint.
virtual const ndn::Block & wireEncode() const =0
const ndn::Name & getOriginRouter() const
std::string getString() const
virtual Type getType() const =0
void setExpiringEventId(ndn::scheduler::EventId eid)
uint64_t getSeqNo() const
ndn::time::system_clock::time_point m_expirationTimePoint
virtual std::tuple< bool, std::list< ndn::Name >, std::list< ndn::Name > > update(const std::shared_ptr< Lsa > &lsa)=0
ndn::Name getOriginRouterCopy() const
void setExpirationTimePoint(const ndn::time::system_clock::time_point <)
ndn::scheduler::ScopedEventId m_expiringEventId
virtual std::string toString() const =0
void setSeqNo(uint64_t seqNo)
void wireDecode(const ndn::Block &wire)
const ndn::time::system_clock::time_point & getExpirationTimePoint() const
Copyright (c) 2014-2020, The University of Memphis, Regents of the University of California.
NDN_CXX_DECLARE_WIRE_ENCODE_INSTANTIATIONS(Adjacent)
std::istream & operator>>(std::istream &is, Lsa::Type &type)
std::ostream & operator<<(std::ostream &os, const Adjacent &adjacent)
#define PUBLIC_WITH_TESTS_ELSE_PROTECTED