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
SurbBalancerControllertrait using a Proportional Integral Derivative (PID) controller. - rate_
limiting 🔒 - simple
- Contains a simple proportional output implementation of the
SurbBalancerControllertrait.
Structs§
- Atomic
Surb Flow Estimator - An implementation of
SurbFlowEstimatorthat tracks the number of produced and consumed SURBs via twoAtomicU64s. - Balancer
Controller Bounds - Represents the setpoint (target) and output limit of a controller.
- Simple
Surb Flow Estimator - Implementation of
SurbFlowEstimatorthat tracks the number of produced and consumed SURBs via twou64s. - Surb
Controller With Correction - Wraps a
RateControllerasSurbFlowControllerwith the given correction factor on time unit.
Constants§
- MIN_
BALANCER_ SAMPLING_ INTERVAL - Smallest possible interval for balancer sampling.
Traits§
- Surb
Balancer Controller - Trait abstracting a controller used in the
SurbBalancer. - Surb
Flow Controller - Allows controlling the production or consumption of SURBs in a Session.
- Surb
Flow Estimator - Allows estimating the flow of SURBs in a Session (production or consumption).