Liking cljdoc? Tell your friends :D

frereth.cp.message.flow-control

Cope with flow-control algorithms

Cope with flow-control algorithms
raw docstring

adjust-rtt-phaseclj

(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
sourceraw docstring

calculate-base-rtt-averagesclj

(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
sourceraw docstring

jacobson's-retransmission-timeoutclj

(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
sourceraw docstring

jacobson-adjust-block-timeclj

(jacobson-adjust-block-time n-sec-per-block)

Lines 496-509

Lines 496-509
sourceraw docstring

possibly-adjust-speedclj

(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})
source

update-statisticsclj

(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
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close