pub struct HomeostasisController { /* private fields */ }Expand description
Homeostatic controller with feedback loop.
Implementations§
Source§impl HomeostasisController
impl HomeostasisController
pub fn new(budget_tokens: usize) -> Self
Sourcepub fn evaluate(&mut self, current_tokens: usize) -> HomeostasisAction
pub fn evaluate(&mut self, current_tokens: usize) -> HomeostasisAction
Evaluate current state and determine the appropriate action. The feedback loop: if the last action didn’t help, escalate faster.
Sourcepub fn report_outcome(&mut self, pressure_reduced: bool)
pub fn report_outcome(&mut self, pressure_reduced: bool)
Report whether the last action was effective (reduced pressure).
Auto Trait Implementations§
impl Freeze for HomeostasisController
impl RefUnwindSafe for HomeostasisController
impl Send for HomeostasisController
impl Sync for HomeostasisController
impl Unpin for HomeostasisController
impl UnsafeUnpin for HomeostasisController
impl UnwindSafe for HomeostasisController
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more