From f2850cc0b96c22743f7aa64ee710835cf1476468 Mon Sep 17 00:00:00 2001 From: Matias Fontanini Date: Tue, 1 Nov 2016 07:35:56 -0700 Subject: [PATCH] Execute original ooo callback first on recovery mode --- src/tcp_ip/stream.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/tcp_ip/stream.cpp b/src/tcp_ip/stream.cpp index 4a154fa..c870ad8 100644 --- a/src/tcp_ip/stream.cpp +++ b/src/tcp_ip/stream.cpp @@ -325,28 +325,28 @@ void Stream::client_recovery_mode_handler(Stream& stream, uint32_t sequence_numb const payload_type& payload, uint32_t recovery_sequence_number_end, const stream_packet_callback_type& original_callback) { - if (!recovery_mode_handler(stream.client_flow(), sequence_number, - recovery_sequence_number_end)) { - stream.client_out_of_order_callback(original_callback); - stream.directions_recovery_mode_enabled_--; - } if (original_callback) { original_callback(stream, sequence_number, payload); } + if (!recovery_mode_handler(stream.client_flow(), sequence_number, + recovery_sequence_number_end)) { + stream.directions_recovery_mode_enabled_--; + stream.client_out_of_order_callback(original_callback); + } } void Stream::server_recovery_mode_handler(Stream& stream, uint32_t sequence_number, const payload_type& payload, uint32_t recovery_sequence_number_end, const stream_packet_callback_type& original_callback) { - if (!recovery_mode_handler(stream.server_flow(), sequence_number, - recovery_sequence_number_end)) { - stream.server_out_of_order_callback(original_callback); - stream.directions_recovery_mode_enabled_--; - } if (original_callback) { original_callback(stream, sequence_number, payload); } + if (!recovery_mode_handler(stream.server_flow(), sequence_number, + recovery_sequence_number_end)) { + stream.directions_recovery_mode_enabled_--; + stream.server_out_of_order_callback(original_callback); + } } bool Stream::recovery_mode_handler(Flow& flow, uint32_t sequence_number,