package octez-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=c6df840ebbf115e454db949028c595bec558a59a66cade73b52a6d099d6fa4d4
sha512=d8aee903b9fe130d73176bc8ec38b78c9ff65317da3cb4f3415f09af0c625b4384e7498201fdb61aa39086a7d5d409d0ab3423f9bc3ab989a680cf444a79bc13
doc/octez-libs.stdlib-unix/Tezos_stdlib_unix/Moving_average/index.html
Module Tezos_stdlib_unix.Moving_average
Source
Moving averages.
This module implements bandwidth counters based on (cumulative) exponential moving average. Each counter is identified by an integer. They are stored in an internal hash table.
See i.e. https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average for the algorithm.
Type of one bandwidth counter.
Internal state of the worker handling a family of counters.
fresh_state ~id ~refresh_interval
initializes the state of a worker handling a family of counter. The worker wakes up every refresh_interval
seconds. id
is a string identifier used for distinguishing distinct Moving_average workers..
create state ~init ~alpha
is a counter with initial value init
and factor alpha
. The counter is added to the state
. It is not removed automatically: it must be removed manually.
on_update state f
registers f
to be called on each update of the internal worker associated to state
.
updated state
is a condition variable that gets signaled on each update of the internal worker..