diff options
author | Dimitri Staessens <[email protected]> | 2020-10-11 14:42:16 +0200 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2020-10-11 14:47:52 +0200 |
commit | 3294170daecaf14a43e97d4e435d4ed0308444f8 (patch) | |
tree | 349075344cdc08681fa2491ab7bf0b4c32b730b7 /src/lib/timerwheel.c | |
parent | da871be70c8039015edfe93d4581e3b9347ff882 (diff) | |
download | ouroboros-3294170daecaf14a43e97d4e435d4ed0308444f8.tar.gz ouroboros-3294170daecaf14a43e97d4e435d4ed0308444f8.zip |
lib: Add Rendez-Vous mechanism for flow control
This adds the rendez-vous mechanism to handle the case where the
sending window is closed and window updates get lost. If the sending
window is closed, the sender side will send an RDVS every DELT_RDV
time (100ms), and give up after MAX_RDV time (1 second). Upon
reception of a RDVS packet, a window update is sent immediately. We
can make this much more configurable later on (build options for
defaults, fccntl for runtime tuning).
Signed-off-by: Dimitri Staessens <[email protected]>
Signed-off-by: Sander Vrijders <[email protected]>
Diffstat (limited to 'src/lib/timerwheel.c')
-rw-r--r-- | src/lib/timerwheel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/timerwheel.c b/src/lib/timerwheel.c index 4443832d..cd3074cb 100644 --- a/src/lib/timerwheel.c +++ b/src/lib/timerwheel.c @@ -294,7 +294,7 @@ static void timerwheel_move(void) rw.map[j & (ACKQ_SLOTS - 1)][a->fd] = false; if (f->flow_id == a->flow_id && f->frcti != NULL) - frct_send_ack(a->frcti); + send_frct_pkt(a->frcti); free(a); |