Browse Source

delete strem from destination upon termination

pull/1499/head
orignal 5 years ago
parent
commit
5eec580727
  1. 7
      libi2pd/Streaming.cpp
  2. 2
      libi2pd/Streaming.h

7
libi2pd/Streaming.cpp

@ -86,13 +86,14 @@ namespace stream @@ -86,13 +86,14 @@ namespace stream
LogPrint (eLogDebug, "Streaming: Stream deleted");
}
void Stream::Terminate () // shoudl be called from StreamingDestination::Stop only
void Stream::Terminate (bool deleteFromDestination) // shoudl be called from StreamingDestination::Stop only
{
m_AckSendTimer.cancel ();
m_ReceiveTimer.cancel ();
m_ResendTimer.cancel ();
//CleanUp (); /* Need to recheck - broke working on windows */
//m_LocalDestination.DeleteStream (shared_from_this ());
if (deleteFromDestination)
m_LocalDestination.DeleteStream (shared_from_this ());
}
void Stream::CleanUp ()
@ -993,7 +994,7 @@ namespace stream @@ -993,7 +994,7 @@ namespace stream
{
std::unique_lock<std::mutex> l(m_StreamsMutex);
for (auto it: m_Streams)
it.second->Terminate ();
it.second->Terminate (false); // we delete here
m_Streams.clear ();
m_IncomingStreams.clear ();
}

2
libi2pd/Streaming.h

@ -180,7 +180,7 @@ namespace stream @@ -180,7 +180,7 @@ namespace stream
int GetWindowSize () const { return m_WindowSize; };
int GetRTT () const { return m_RTT; };
void Terminate ();
void Terminate (bool deleteFromDestination = true);
private:

Loading…
Cancel
Save