From 9c338a5c81ba88d107c19939de51a0cbcc12e6aa Mon Sep 17 00:00:00 2001 From: orignal Date: Mon, 9 Mar 2015 22:05:26 -0400 Subject: [PATCH] don't lost received data --- Streaming.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/Streaming.cpp b/Streaming.cpp index 6e1b813d..63d3320c 100644 --- a/Streaming.cpp +++ b/Streaming.cpp @@ -36,28 +36,29 @@ namespace stream Stream::~Stream () { Terminate (); - LogPrint (eLogDebug, "Stream deleted"); - } - - void Stream::Terminate () - { - m_AckSendTimer.cancel (); while (!m_ReceiveQueue.empty ()) { auto packet = m_ReceiveQueue.front (); m_ReceiveQueue.pop (); delete packet; - } - m_ReceiveTimer.cancel (); - + } + for (auto it: m_SentPackets) delete it; m_SentPackets.clear (); - m_ResendTimer.cancel (); - + for (auto it: m_SavedPackets) delete it; m_SavedPackets.clear (); + + LogPrint (eLogDebug, "Stream deleted"); + } + + void Stream::Terminate () + { + m_AckSendTimer.cancel (); + m_ReceiveTimer.cancel (); + m_ResendTimer.cancel (); } void Stream::HandleNextPacket (Packet * packet)