Skip to content

Commit

Permalink
moved delayed queue to Peer
Browse files Browse the repository at this point in the history
  • Loading branch information
orignal committed Jan 14, 2015
1 parent 3481161 commit 98e930b
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 50 deletions.
29 changes: 1 addition & 28 deletions NTCPSession.cpp
Expand Up @@ -32,9 +32,6 @@ namespace transport
delete m_Establisher;
if (m_NextMessage)
i2p::DeleteI2NPMessage (m_NextMessage);
for (auto it :m_DelayedMessages)
i2p::DeleteI2NPMessage (it);
m_DelayedMessages.clear ();
}

void NTCPSession::CreateAESKey (uint8_t * pubKey, i2p::crypto::AESKey& key)
Expand Down Expand Up @@ -78,18 +75,6 @@ namespace transport
m_IsEstablished = false;
m_Socket.close ();
transports.PeerDisconnected (shared_from_this ());
int numDelayed = 0;
for (auto it :m_DelayedMessages)
{
// try to send them again
if (m_RemoteRouter)
transports.SendMessage (m_RemoteRouter->GetIdentHash (), it);
numDelayed++;
}
m_DelayedMessages.clear ();
if (numDelayed > 0)
LogPrint (eLogWarning, "NTCP session ", numDelayed, " not sent");
// TODO: notify tunnels
m_Server.RemoveNTCPSession (shared_from_this ());
LogPrint ("NTCP session terminated");
}
Expand All @@ -108,13 +93,6 @@ namespace transport
SendI2NPMessage (CreateDatabaseStoreMsg ()); // we tell immediately who we are

transports.PeerConnected (shared_from_this ());

if (!m_DelayedMessages.empty ())
{
for (auto it :m_DelayedMessages)
SendI2NPMessage (it);
m_DelayedMessages.clear ();
}
}

void NTCPSession::ClientLogin ()
Expand Down Expand Up @@ -637,12 +615,7 @@ namespace transport
void NTCPSession::PostI2NPMessage (I2NPMessage * msg)
{
if (msg)
{
if (m_IsEstablished)
Send (msg);
else
m_DelayedMessages.push_back (msg);
}
Send (msg);
}

void NTCPSession::ScheduleTermination ()
Expand Down
2 changes: 0 additions & 2 deletions NTCPSession.h
Expand Up @@ -2,7 +2,6 @@
#define NTCP_SESSION_H__

#include <inttypes.h>
#include <list>
#include <map>
#include <memory>
#include <thread>
Expand Down Expand Up @@ -129,7 +128,6 @@ namespace transport
int m_ReceiveBufferOffset;

i2p::I2NPMessage * m_NextMessage;
std::list<i2p::I2NPMessage *> m_DelayedMessages;
size_t m_NextMessageOffset;

size_t m_NumSentBytes, m_NumReceivedBytes;
Expand Down
19 changes: 1 addition & 18 deletions SSUSession.cpp
Expand Up @@ -757,12 +757,6 @@ namespace transport
{
SendSesionDestroyed ();
transports.PeerDisconnected (shared_from_this ());
if (!m_DelayedMessages.empty ())
{
for (auto it :m_DelayedMessages)
DeleteI2NPMessage (it);
m_DelayedMessages.clear ();
}
}

void SSUSession::Established ()
Expand All @@ -775,12 +769,6 @@ namespace transport
}
SendI2NPMessage (CreateDatabaseStoreMsg ());
transports.PeerConnected (shared_from_this ());
if (!m_DelayedMessages.empty ())
{
for (auto it :m_DelayedMessages)
m_Data.Send (it);
m_DelayedMessages.clear ();
}
if (m_PeerTest && (m_RemoteRouter && m_RemoteRouter->IsPeerTesting ()))
SendPeerTest ();
ScheduleTermination ();
Expand Down Expand Up @@ -837,12 +825,7 @@ namespace transport
void SSUSession::PostI2NPMessage (I2NPMessage * msg)
{
if (msg)
{
if (m_State == eSessionStateEstablished)
m_Data.Send (msg);
else
m_DelayedMessages.push_back (msg);
}
m_Data.Send (msg);
}

void SSUSession::ProcessData (uint8_t * buf, size_t len)
Expand Down
2 changes: 0 additions & 2 deletions SSUSession.h
Expand Up @@ -3,7 +3,6 @@

#include <inttypes.h>
#include <set>
#include <list>
#include <memory>
#include "aes.h"
#include "hmac.h"
Expand Down Expand Up @@ -132,7 +131,6 @@ namespace transport
i2p::crypto::CBCDecryption m_SessionKeyDecryption;
i2p::crypto::AESKey m_SessionKey;
i2p::crypto::MACKey m_MacKey;
std::list<i2p::I2NPMessage *> m_DelayedMessages;
SSUData m_Data;
size_t m_NumSentBytes, m_NumReceivedBytes;
uint32_t m_CreationTime; // seconds since epoch
Expand Down

0 comments on commit 98e930b

Please sign in to comment.