mgmt: re-added expiration time to FaceStatus
refs #3381
Change-Id: I57d3166fc6ed52a54c442a80faffe7a7f4051e1d
diff --git a/daemon/face/transport.hpp b/daemon/face/transport.hpp
index 56ff730..a12ce7c 100644
--- a/daemon/face/transport.hpp
+++ b/daemon/face/transport.hpp
@@ -253,6 +253,12 @@
*/
signal::Signal<Transport, TransportState/*old*/, TransportState/*new*/> afterStateChange;
+ /** \return expiration time of the transport
+ * \retval time::steady_clock::TimePoint::max() the transport has indefinite lifetime
+ */
+ time::steady_clock::TimePoint
+ getExpirationTime() const;
+
protected: // properties to be set by subclass
void
setLocalUri(const FaceUri& uri);
@@ -279,6 +285,9 @@
void
setState(TransportState newState);
+ void
+ setExpirationTime(const time::steady_clock::TimePoint& expirationTime);
+
protected: // to be overridden by subclass
/** \brief invoked before persistency is changed
* \throw std::invalid_argument new persistency is not supported
@@ -316,6 +325,7 @@
ndn::nfd::LinkType m_linkType;
ssize_t m_mtu;
TransportState m_state;
+ time::steady_clock::TimePoint m_expirationTime;
};
inline const Face*
@@ -415,6 +425,18 @@
return m_state;
}
+inline time::steady_clock::TimePoint
+Transport::getExpirationTime() const
+{
+ return m_expirationTime;
+}
+
+inline void
+Transport::setExpirationTime(const time::steady_clock::TimePoint& expirationTime)
+{
+ m_expirationTime = expirationTime;
+}
+
std::ostream&
operator<<(std::ostream& os, const FaceLogHelper<Transport>& flh);