void TcpSession::clear_session(bool free_flow_data, bool flush_segments, bool restart, Packet* p)
{
- if ( tcp_init )
- tcpStats.released++;
- else if ( lws_init )
- tcpStats.no_pickups++;
- else
- return;
-
- if (flow->get_session_flags() & SSNFLAG_PRUNED)
- tcpStats.prunes++;
- else if (flow->get_session_flags() & SSNFLAG_TIMEDOUT)
- tcpStats.timeouts++;
-
- update_perf_base_state(TcpStreamTracker::TCP_CLOSED);
-
if ( client->reassembler )
{
if( flush_segments )
server->reassembler->purge_segment_list();
}
+ if ( tcp_init )
+ tcpStats.released++;
+ else if ( lws_init )
+ tcpStats.no_pickups++;
+ else
+ return;
+
+ if (flow->get_session_flags() & SSNFLAG_PRUNED)
+ tcpStats.prunes++;
+ else if (flow->get_session_flags() & SSNFLAG_TIMEDOUT)
+ tcpStats.timeouts++;
+
+ update_perf_base_state(TcpStreamTracker::TCP_CLOSED);
+
if( restart )
{
flow->restart(free_flow_data);