|
|
@ -79,6 +79,7 @@ namespace transport |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (router) |
|
|
|
if (router) |
|
|
|
m_RemoteIdentity = router->GetRouterIdentity (); |
|
|
|
m_RemoteIdentity = router->GetRouterIdentity (); |
|
|
|
|
|
|
|
m_CreationTime = m_LastActivityTimestamp; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
virtual ~TransportSession () {}; |
|
|
|
virtual ~TransportSession () {}; |
|
|
@ -106,6 +107,9 @@ namespace transport |
|
|
|
bool IsTerminationTimeoutExpired (uint64_t ts) const |
|
|
|
bool IsTerminationTimeoutExpired (uint64_t ts) const |
|
|
|
{ return ts >= m_LastActivityTimestamp + GetTerminationTimeout (); }; |
|
|
|
{ return ts >= m_LastActivityTimestamp + GetTerminationTimeout (); }; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32_t GetCreationTime () const { return m_CreationTime; }; |
|
|
|
|
|
|
|
void SetCreationTime (uint32_t ts) { m_CreationTime = ts; }; // for introducers
|
|
|
|
|
|
|
|
|
|
|
|
virtual uint32_t GetRelayTag () const { return 0; }; |
|
|
|
virtual uint32_t GetRelayTag () const { return 0; }; |
|
|
|
virtual void SendLocalRouterInfo (bool update = false) { SendI2NPMessages ({ CreateDatabaseStoreMsg () }); }; |
|
|
|
virtual void SendLocalRouterInfo (bool update = false) { SendI2NPMessages ({ CreateDatabaseStoreMsg () }); }; |
|
|
|
virtual void SendI2NPMessages (const std::vector<std::shared_ptr<I2NPMessage> >& msgs) = 0; |
|
|
|
virtual void SendI2NPMessages (const std::vector<std::shared_ptr<I2NPMessage> >& msgs) = 0; |
|
|
@ -118,6 +122,7 @@ namespace transport |
|
|
|
bool m_IsOutgoing; |
|
|
|
bool m_IsOutgoing; |
|
|
|
int m_TerminationTimeout; |
|
|
|
int m_TerminationTimeout; |
|
|
|
uint64_t m_LastActivityTimestamp; |
|
|
|
uint64_t m_LastActivityTimestamp; |
|
|
|
|
|
|
|
uint32_t m_CreationTime; // seconds since epoch
|
|
|
|
}; |
|
|
|
}; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|