diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 2c4941395..9338d9c34 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -1170,9 +1170,21 @@ :: +$ packet-pump-state $: next-wake=(unit @da) - live=(tree [live-packet-key live-packet-val]) + live=((mop live-packet-key live-packet-val) lte-packets) metrics=pump-metrics == + :: +lte-packets: yes if a is before b + :: + ++ lte-packets + |= [a=live-packet-key b=live-packet-key] + ^- ? + :: + ?: (lth message-num.a message-num.b) + %.y + ?: (gth message-num.a message-num.b) + %.n + (lte fragment-num.a fragment-num.b) + :: :: $pump-metrics: congestion control state for a |packet-pump :: :: This is an Ames adaptation of TCP's Reno congestion control diff --git a/pkg/arvo/sys/vane/ames.hoon b/pkg/arvo/sys/vane/ames.hoon index 23cbaf290..a5e27fe6f 100644 --- a/pkg/arvo/sys/vane/ames.hoon +++ b/pkg/arvo/sys/vane/ames.hoon @@ -133,17 +133,6 @@ [%live %unborn] `"; {(scow %p ship)} has sunk" [%dead %unborn] `"; {(scow %p ship)} has sunk" == -:: +lte-packets: yes if a is before b -:: -++ lte-packets - |= [a=live-packet-key b=live-packet-key] - ^- ? - :: - ?: (lth message-num.a message-num.b) - %.y - ?: (gth message-num.a message-num.b) - %.n - (lte fragment-num.a fragment-num.b) :: +split-message: split message into kilobyte-sized fragments :: :: We don't literally split it here since that would allocate many