package octez-libs
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=dbc3b675aee59c2c574e5d0a771193a2ecfca31e7a5bc5aed66598080596ce1c
sha512=b97ed762b9d24744305c358af0d20f394376b64bfdd758dd4a81775326caf445caa57c4f6445da3dd6468ff492de18e4c14af6f374dfcbb7e4d64b7b720e5e2a
doc/octez-libs.stdlib-unix/Tezos_stdlib_unix/Moving_average/index.html
Module Tezos_stdlib_unix.Moving_averageSource
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..