/* * Copyright (c) 2013-2022, The PurpleI2P Project * * This file is part of Purple i2pd project and licensed under BSD3 * * See full license text in LICENSE file at top of project tree */ #ifndef SSU2_H__ #define SSU2_H__ #include #include "Crypto.h" #include "RouterInfo.h" #include "TransportSession.h" namespace i2p { namespace transport { const int SSU2_TERMINATION_TIMEOUT = 330; // 5.5 minutes class SSU2Session: public TransportSession, public std::enable_shared_from_this { public: SSU2Session (std::shared_ptr in_RemoteRouter = nullptr, std::shared_ptr addr = nullptr, bool peerTest = false); ~SSU2Session (); private: std::shared_ptr m_EphemeralKeys; std::unique_ptr m_NoiseState; }; } } #endif