Cope with flow-control algorithms
Cope with flow-control algorithms
(adjust-rtt-phase {:keys [:frereth.cp.message.specs/recent]
{:keys [:frereth.cp.message.specs/n-sec-per-block
:frereth.cp.message.specs/rtt-phase
:frereth.cp.message.specs/rtt-seen-older-high
:frereth.cp.message.specs/rtt-seen-older-low]}
:frereth.cp.message.specs/flow-control
:as state})
Lines 511-521
Lines 511-521
(calculate-base-rtt-averages {{:keys [:frereth.cp.message.specs/rtt-average]}
:frereth.cp.message.specs/flow-control
:keys [:frereth.cp.message.specs/recent]
:as state}
ackd-time)
Lines 460-466
Lines 460-466
(jacobson's-retransmission-timeout
{:keys [:frereth.cp.message.specs/recent]
{:keys [:frereth.cp.message.specs/last-doubling
:frereth.cp.message.specs/last-edge
:frereth.cp.message.specs/last-speed-adjustment
:frereth.cp.message.specs/n-sec-per-block
:frereth.cp.message.specs/rtt :frereth.cp.message.specs/rtt-average
:frereth.cp.message.specs/rtt-deviation
:frereth.cp.message.specs/rtt-highwater
:frereth.cp.message.specs/rtt-lowwater
:frereth.cp.message.specs/rtt-seen-recent-high
:frereth.cp.message.specs/rtt-seen-recent-low
:frereth.cp.message.specs/rtt-timeout]}
:frereth.cp.message.specs/flow-control
:as state}
{block-send-time :frereth.cp.message.specs/time :as block})
Jacobson's retransmission timeout calculation: --DJB
I'm lumping lines 467-527 into here, even though I haven't seen the actual paper describing the algorithm. This is the basic algorithm that TCP uses pretty much everywhere. -- JRG
Jacobson's retransmission timeout calculation: --DJB I'm lumping lines 467-527 into here, even though I haven't seen the actual paper describing the algorithm. This is the basic algorithm that TCP uses pretty much everywhere. -- JRG
(jacobson-adjust-block-time n-sec-per-block)
Lines 496-509
Lines 496-509
(possibly-adjust-speed {:keys [:frereth.cp.message.specs/recent]
{:keys [:frereth.cp.message.specs/last-edge
:frereth.cp.message.specs/last-speed-adjustment
:frereth.cp.message.specs/n-sec-per-block
:frereth.cp.message.specs/rtt-seen-recent-high
:frereth.cp.message.specs/rtt-seen-recent-low]}
:frereth.cp.message.specs/flow-control
:as state})
(update-statistics {:keys [:frereth.cp.message.specs/message-loop-name
:frereth.cp.message.specs/recent]
:as state}
{acked-time :frereth.cp.message.specs/time :as acked-block})
It looks like this is coping with the first sent/ACK'd message from the child
TODO: Better name Lines 458-541
It looks like this is coping with the first sent/ACK'd message from the child TODO: Better name Lines 458-541
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close