if(sent_packet) {
if(left) {
// We sent one packet but we have partial data left, (re)start the flush timer
+ if(!timespec_isset(&c->rtrx_timeout)) {
+ c->flush_needed = true;
+ }
+
start_flush_timer(c);
} else {
// There is no partial data in the send buffer, so stop the flush timer
}
} else if(left && !timespec_isset(&c->rtrx_timeout)) {
// We have partial data and we didn't start the flush timer yet
+ c->flush_needed = true;
start_flush_timer(c);
}
}
void utcp_set_flush_timeout(struct utcp *utcp, int milliseconds) {
utcp->flush_timeout = milliseconds;
}
+
+bool utcp_get_flush_needed(struct utcp_connection *c) {
+ bool value = c->flush_needed;
+ c->flush_needed = false;
+ return value;
+}