1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-23 02:35:57 +01:00

Execute original ooo callback first on recovery mode

This commit is contained in:
Matias Fontanini
2016-11-01 07:35:56 -07:00
parent c69ea0c1fb
commit f2850cc0b9

View File

@@ -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,