mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-08 22:13:48 +01:00
don't lost received data
This commit is contained in:
parent
d13b4f6698
commit
9c338a5c81
1 changed files with 15 additions and 14 deletions
|
@ -36,28 +36,29 @@ namespace stream
|
||||||
Stream::~Stream ()
|
Stream::~Stream ()
|
||||||
{
|
{
|
||||||
Terminate ();
|
Terminate ();
|
||||||
LogPrint (eLogDebug, "Stream deleted");
|
|
||||||
}
|
|
||||||
|
|
||||||
void Stream::Terminate ()
|
|
||||||
{
|
|
||||||
m_AckSendTimer.cancel ();
|
|
||||||
while (!m_ReceiveQueue.empty ())
|
while (!m_ReceiveQueue.empty ())
|
||||||
{
|
{
|
||||||
auto packet = m_ReceiveQueue.front ();
|
auto packet = m_ReceiveQueue.front ();
|
||||||
m_ReceiveQueue.pop ();
|
m_ReceiveQueue.pop ();
|
||||||
delete packet;
|
delete packet;
|
||||||
}
|
}
|
||||||
m_ReceiveTimer.cancel ();
|
|
||||||
|
|
||||||
for (auto it: m_SentPackets)
|
for (auto it: m_SentPackets)
|
||||||
delete it;
|
delete it;
|
||||||
m_SentPackets.clear ();
|
m_SentPackets.clear ();
|
||||||
m_ResendTimer.cancel ();
|
|
||||||
|
|
||||||
for (auto it: m_SavedPackets)
|
for (auto it: m_SavedPackets)
|
||||||
delete it;
|
delete it;
|
||||||
m_SavedPackets.clear ();
|
m_SavedPackets.clear ();
|
||||||
|
|
||||||
|
LogPrint (eLogDebug, "Stream deleted");
|
||||||
|
}
|
||||||
|
|
||||||
|
void Stream::Terminate ()
|
||||||
|
{
|
||||||
|
m_AckSendTimer.cancel ();
|
||||||
|
m_ReceiveTimer.cancel ();
|
||||||
|
m_ResendTimer.cancel ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Stream::HandleNextPacket (Packet * packet)
|
void Stream::HandleNextPacket (Packet * packet)
|
||||||
|
|
Loading…
Add table
Reference in a new issue