|
|
@ -198,8 +198,7 @@ namespace tunnel |
|
|
|
|
|
|
|
|
|
|
|
Tunnels tunnels; |
|
|
|
Tunnels tunnels; |
|
|
|
|
|
|
|
|
|
|
|
Tunnels::Tunnels (): m_IsRunning (false), m_IsTunnelCreated (false), |
|
|
|
Tunnels::Tunnels (): m_IsRunning (false), m_Thread (nullptr), m_ExploratoryPool (nullptr) |
|
|
|
m_NextReplyMsgID (555), m_Thread (nullptr), m_ExploratoryPool (nullptr) |
|
|
|
|
|
|
|
{ |
|
|
|
{ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -535,9 +534,9 @@ namespace tunnel |
|
|
|
TTunnel * Tunnels::CreateTunnel (TunnelConfig * config, OutboundTunnel * outboundTunnel) |
|
|
|
TTunnel * Tunnels::CreateTunnel (TunnelConfig * config, OutboundTunnel * outboundTunnel) |
|
|
|
{ |
|
|
|
{ |
|
|
|
TTunnel * newTunnel = new TTunnel (config); |
|
|
|
TTunnel * newTunnel = new TTunnel (config); |
|
|
|
m_PendingTunnels[m_NextReplyMsgID] = newTunnel; |
|
|
|
uint32_t replyMsgID = i2p::context.GetRandomNumberGenerator ().GenerateWord32 (); |
|
|
|
newTunnel->Build (m_NextReplyMsgID, outboundTunnel); |
|
|
|
m_PendingTunnels[replyMsgID] = newTunnel; |
|
|
|
m_NextReplyMsgID++; // TODO: should be atomic
|
|
|
|
newTunnel->Build (replyMsgID, outboundTunnel); |
|
|
|
return newTunnel; |
|
|
|
return newTunnel; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|