From 6b21841da65ac163aee4559541f0e70d0ed3517c Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 9 Nov 2024 17:33:53 -0500 Subject: sequencer pseudocode: add retransmit() routine to Trans --- doc/trans.pseudo | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/trans.pseudo b/doc/trans.pseudo index 405231d..644633a 100644 --- a/doc/trans.pseudo +++ b/doc/trans.pseudo @@ -20,6 +20,7 @@ var ( negativeAcks []mid received []m retransmissions []mid + lastSend time ) send(m) { @@ -27,6 +28,7 @@ send(m) { multicast(pkt) positiveAcks = [] go timeout(m) + lastSend = now() } timeout(m) { @@ -69,6 +71,16 @@ recv(m) { } } +retransmit() { + forever { + wait until (timeSince(lastSend) > threshold) && (len(retransmissions) > 0) + + mid := pop(retransmissions) + m := received[mid] + send(m) + } +} + prune() { // TODO: use Observable Predicate for Delivery } -- cgit v1.2.3