Skip to main content

Module balancer

Module balancer 

Source

Re-exports§

pub use controller::BalancerStateValues;
pub use controller::SurbBalancer;
pub use controller::SurbBalancerConfig;
pub use rate_limiting::RateController;
pub use rate_limiting::RateLimitSinkExt;
pub use rate_limiting::RateLimitStreamExt;

Modules§

controller 🔒
pid
Contains implementation of the SurbBalancerController trait using a Proportional Integral Derivative (PID) controller.
rate_limiting 🔒
simple
Contains a simple proportional output implementation of the SurbBalancerController trait.

Structs§

AtomicSurbFlowEstimator
An implementation of SurbFlowEstimator that tracks the number of produced and consumed SURBs via two AtomicU64s.
BalancerControllerBounds
Represents the setpoint (target) and output limit of a controller.
SimpleSurbFlowEstimator
Implementation of SurbFlowEstimator that tracks the number of produced and consumed SURBs via two u64s.
SurbControllerWithCorrection
Wraps a RateController as SurbFlowController with the given correction factor on time unit.

Constants§

MIN_BALANCER_SAMPLING_INTERVAL
Smallest possible interval for balancer sampling.

Traits§

SurbBalancerController
Trait abstracting a controller used in the SurbBalancer.
SurbFlowController
Allows controlling the production or consumption of SURBs in a Session.
SurbFlowEstimator
Allows estimating the flow of SURBs in a Session (production or consumption).