pub struct ExecutorReadyBuilder<L, T> { /* private fields */ }Expand description
Builder state after the required condition tester has been configured.
This state can configure prepare lifecycle callbacks and build the final
DoubleCheckedLockExecutor.
§Type Parameters
L- The lock type implementingLock<T>.T- The data type protected by the lock.
Implementations§
Source§impl<L, T> ExecutorReadyBuilder<L, T>where
L: Lock<T>,
impl<L, T> ExecutorReadyBuilder<L, T>where
L: Lock<T>,
Sourcepub fn log_unmet_condition(
self,
level: Level,
message: impl Into<String>,
) -> Self
pub fn log_unmet_condition( self, level: Level, message: impl Into<String>, ) -> Self
Configures logging when the double-checked condition is not met.
Sourcepub fn disable_unmet_condition_logging(self) -> Self
pub fn disable_unmet_condition_logging(self) -> Self
Disables logging when the double-checked condition is not met.
Sourcepub fn log_prepare_failure(
self,
level: Level,
message_prefix: impl Into<String>,
) -> Self
pub fn log_prepare_failure( self, level: Level, message_prefix: impl Into<String>, ) -> Self
Configures logging when the prepare action fails.
Sourcepub fn disable_prepare_failure_logging(self) -> Self
pub fn disable_prepare_failure_logging(self) -> Self
Disables logging when the prepare action fails.
Sourcepub fn log_prepare_commit_failure(
self,
level: Level,
message_prefix: impl Into<String>,
) -> Self
pub fn log_prepare_commit_failure( self, level: Level, message_prefix: impl Into<String>, ) -> Self
Configures logging when the prepare commit action fails.
Sourcepub fn disable_prepare_commit_failure_logging(self) -> Self
pub fn disable_prepare_commit_failure_logging(self) -> Self
Disables logging when the prepare commit action fails.
Sourcepub fn log_prepare_rollback_failure(
self,
level: Level,
message_prefix: impl Into<String>,
) -> Self
pub fn log_prepare_rollback_failure( self, level: Level, message_prefix: impl Into<String>, ) -> Self
Configures logging when the prepare rollback action fails.
Sourcepub fn disable_prepare_rollback_failure_logging(self) -> Self
pub fn disable_prepare_rollback_failure_logging(self) -> Self
Disables logging when the prepare rollback action fails.
Sourcepub fn prepare<Rn, E>(self, prepare_action: Rn) -> Self
pub fn prepare<Rn, E>(self, prepare_action: Rn) -> Self
Sets the prepare action.
The action runs after the first condition check succeeds and before the lock is acquired. If it succeeds, the executor will later run either rollback or commit according to the final task result.
Errors returned by this action are converted to String and reported
by execution methods as super::ExecutionResult::Failed.
§Parameters
prepare_action- The fallible action to run before locking.
§Returns
This builder with prepare configured.
Sourcepub fn rollback_prepare<Rn, E>(self, rollback_prepare_action: Rn) -> Self
pub fn rollback_prepare<Rn, E>(self, rollback_prepare_action: Rn) -> Self
Sets the rollback action for a successfully completed prepare action.
Errors returned by this action are converted to String and replace
the original execution result with a prepare-rollback failure.
§Parameters
rollback_prepare_action- The action to run if the second condition check or task execution fails after prepare succeeds.
§Returns
This builder with prepare rollback configured.
Sourcepub fn commit_prepare<Rn, E>(self, commit_prepare_action: Rn) -> Self
pub fn commit_prepare<Rn, E>(self, commit_prepare_action: Rn) -> Self
Sets the commit action for a successfully completed prepare action.
Errors returned by this action are converted to String and replace
an otherwise successful execution result with a prepare-commit failure.
§Parameters
commit_prepare_action- The action to run if the task succeeds after prepare succeeds.
§Returns
This builder with prepare commit configured.
Sourcepub fn catch_panics(self) -> Self
pub fn catch_panics(self) -> Self
Enables panic capture for tester, prepare callbacks, and task execution.
When enabled, panic payloads are converted to
super::executor_error::ExecutorError::Panic and surfaced through
super::ExecutionResult.
Sourcepub fn set_catch_panics(self, catch_panics: bool) -> Self
pub fn set_catch_panics(self, catch_panics: bool) -> Self
Sets whether panic capture for tester, prepare callbacks, and task execution is enabled.
Sourcepub fn disable_catch_panics(self) -> Self
pub fn disable_catch_panics(self) -> Self
Disables panic capture for tester, prepare callbacks, and task execution.
Sourcepub fn build(self) -> DoubleCheckedLockExecutor<L, T>
pub fn build(self) -> DoubleCheckedLockExecutor<L, T>
Builds the reusable executor.
§Returns
A DoubleCheckedLockExecutor containing the configured lock, tester,
execution logger, and prepare lifecycle callbacks.
Trait Implementations§
Source§impl<L: Clone, T: Clone> Clone for ExecutorReadyBuilder<L, T>
impl<L: Clone, T: Clone> Clone for ExecutorReadyBuilder<L, T>
Source§fn clone(&self) -> ExecutorReadyBuilder<L, T>
fn clone(&self) -> ExecutorReadyBuilder<L, T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more