pub struct StrategyEngine { /* private fields */ }Expand description
Strategy engine for managing and executing strategies
Implementations§
Source§impl StrategyEngine
impl StrategyEngine
Sourcepub fn new(
evaluator: Arc<dyn ConditionEvaluator>,
executor: Arc<dyn ActionExecutor>,
store: Arc<dyn StrategyStore>,
) -> Self
pub fn new( evaluator: Arc<dyn ConditionEvaluator>, executor: Arc<dyn ActionExecutor>, store: Arc<dyn StrategyStore>, ) -> Self
Create a new strategy engine
Sourcepub fn simple(
evaluator: Arc<dyn ConditionEvaluator>,
executor: Arc<dyn ActionExecutor>,
) -> Self
pub fn simple( evaluator: Arc<dyn ConditionEvaluator>, executor: Arc<dyn ActionExecutor>, ) -> Self
Create with default in-memory store (backward compatibility helpers)
Sourcepub fn with_shutdown(self, rx: Receiver<()>) -> Self
pub fn with_shutdown(self, rx: Receiver<()>) -> Self
Set shutdown signal channel
Sourcepub async fn load_active_strategies(&self) -> Result<Vec<Strategy>>
pub async fn load_active_strategies(&self) -> Result<Vec<Strategy>>
Load all active strategies from store
Sourcepub async fn register_strategy(&self, strategy: Strategy) -> Result<()>
pub async fn register_strategy(&self, strategy: Strategy) -> Result<()>
Save/Register a strategy
Sourcepub async fn remove_strategy(&self, id: &str) -> Result<()>
pub async fn remove_strategy(&self, id: &str) -> Result<()>
Delete a strategy
Auto Trait Implementations§
impl Freeze for StrategyEngine
impl !RefUnwindSafe for StrategyEngine
impl Send for StrategyEngine
impl Sync for StrategyEngine
impl Unpin for StrategyEngine
impl !UnwindSafe for StrategyEngine
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request