The flush timer ensures that if there is partial data left in the send
buffer for framed UDP channels, that this is sent after the flush timeout.
This was done correctly if we had previously sent full packets, but if there
never was a full packet the timer wouldn't be started, and the small frames
wouldn't be sent unless the application would send more data on the channel.
// There is no partial data in the send buffer, so stop the flush timer
stop_retransmit_timer(c);
}
+ } else if(left && !timespec_isset(&c->rtrx_timeout)) {
+ // We have partial data and we didn't start the flush timer yet
+ start_flush_timer(c);
}
}