diff --git a/src/network/transportsender-impl.h b/src/network/transportsender-impl.h index 328bf10..e9e4b6d 100644 --- a/src/network/transportsender-impl.h +++ b/src/network/transportsender-impl.h @@ -187,11 +187,16 @@ void TransportSender::tick( void ) } } - if ( diff.empty() && (now >= next_ack_time) ) { - send_empty_ack(); - mindelay_clock = uint64_t( -1 ); - } else if ( !diff.empty() && ( (now >= next_send_time) - || (now >= next_ack_time) ) ) { + if ( diff.empty() ) { + if ( (now >= next_ack_time) ) { + send_empty_ack(); + mindelay_clock = uint64_t( -1 ); + } + if ( (now >= next_send_time) ) { + next_send_time = uint64_t( -1 ); + mindelay_clock = uint64_t( -1 ); + } + } else if ( (now >= next_send_time) || (now >= next_ack_time) ) { /* Send diffs or ack */ send_to_receiver( diff ); mindelay_clock = uint64_t( -1 );