|
|
@ -134,7 +134,7 @@ namespace transport |
|
|
|
m_IsOnline (true), m_IsRunning (false), m_IsNAT (true), m_CheckReserved(true), m_Thread (nullptr), |
|
|
|
m_IsOnline (true), m_IsRunning (false), m_IsNAT (true), m_CheckReserved(true), m_Thread (nullptr), |
|
|
|
m_Service (nullptr), m_Work (nullptr), m_PeerCleanupTimer (nullptr), m_PeerTestTimer (nullptr), |
|
|
|
m_Service (nullptr), m_Work (nullptr), m_PeerCleanupTimer (nullptr), m_PeerTestTimer (nullptr), |
|
|
|
m_SSUServer (nullptr), m_NTCP2Server (nullptr), |
|
|
|
m_SSUServer (nullptr), m_NTCP2Server (nullptr), |
|
|
|
m_DHKeysPairSupplier (5), m_X25519KeysPairSupplier (5), // 5 pre-generated keys
|
|
|
|
m_X25519KeysPairSupplier (5), // 5 pre-generated keys
|
|
|
|
m_TotalSentBytes(0), m_TotalReceivedBytes(0), m_TotalTransitTransmittedBytes (0), |
|
|
|
m_TotalSentBytes(0), m_TotalReceivedBytes(0), m_TotalTransitTransmittedBytes (0), |
|
|
|
m_InBandwidth (0), m_OutBandwidth (0), m_TransitBandwidth(0), |
|
|
|
m_InBandwidth (0), m_OutBandwidth (0), m_TransitBandwidth(0), |
|
|
|
m_LastInBandwidthUpdateBytes (0), m_LastOutBandwidthUpdateBytes (0), |
|
|
|
m_LastInBandwidthUpdateBytes (0), m_LastOutBandwidthUpdateBytes (0), |
|
|
@ -165,7 +165,6 @@ namespace transport |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
i2p::config::GetOption("nat", m_IsNAT); |
|
|
|
i2p::config::GetOption("nat", m_IsNAT); |
|
|
|
m_DHKeysPairSupplier.Start (); |
|
|
|
|
|
|
|
m_X25519KeysPairSupplier.Start (); |
|
|
|
m_X25519KeysPairSupplier.Start (); |
|
|
|
m_IsRunning = true; |
|
|
|
m_IsRunning = true; |
|
|
|
m_Thread = new std::thread (std::bind (&Transports::Run, this)); |
|
|
|
m_Thread = new std::thread (std::bind (&Transports::Run, this)); |
|
|
@ -260,7 +259,6 @@ namespace transport |
|
|
|
m_NTCP2Server = nullptr; |
|
|
|
m_NTCP2Server = nullptr; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
m_DHKeysPairSupplier.Stop (); |
|
|
|
|
|
|
|
m_X25519KeysPairSupplier.Stop (); |
|
|
|
m_X25519KeysPairSupplier.Stop (); |
|
|
|
m_IsRunning = false; |
|
|
|
m_IsRunning = false; |
|
|
|
if (m_Service) m_Service->stop (); |
|
|
|
if (m_Service) m_Service->stop (); |
|
|
@ -540,16 +538,6 @@ namespace transport |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
std::shared_ptr<i2p::crypto::DHKeys> Transports::GetNextDHKeysPair () |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
return m_DHKeysPairSupplier.Acquire (); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Transports::ReuseDHKeysPair (std::shared_ptr<i2p::crypto::DHKeys> pair) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
m_DHKeysPairSupplier.Return (pair); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
std::shared_ptr<i2p::crypto::X25519Keys> Transports::GetNextX25519KeysPair () |
|
|
|
std::shared_ptr<i2p::crypto::X25519Keys> Transports::GetNextX25519KeysPair () |
|
|
|
{ |
|
|
|
{ |
|
|
|
return m_X25519KeysPairSupplier.Acquire (); |
|
|
|
return m_X25519KeysPairSupplier.Acquire (); |
|
|
|