pub struct CompletionConfig {
pub min_successful: Option<usize>,
pub tolerated_failure_count: Option<usize>,
pub tolerated_failure_percentage: Option<f64>,
}Expand description
Configuration defining success/failure criteria for concurrent operations.
Fields§
§min_successful: Option<usize>Minimum number of successful completions required.
tolerated_failure_count: Option<usize>Maximum number of tolerated failures (absolute count).
tolerated_failure_percentage: Option<f64>Maximum percentage of tolerated failures (0.0 to 1.0).
Implementations§
Source§impl CompletionConfig
impl CompletionConfig
Sourcepub fn first_successful() -> Self
pub fn first_successful() -> Self
Creates a completion config that succeeds when the first task succeeds.
§Example
use durable_execution_sdk::CompletionConfig;
let config = CompletionConfig::first_successful();
assert_eq!(config.min_successful, Some(1));Sourcepub fn all_completed() -> Self
pub fn all_completed() -> Self
Creates a completion config that waits for all tasks to complete.
§Example
use durable_execution_sdk::CompletionConfig;
let config = CompletionConfig::all_completed();
assert!(config.min_successful.is_none());Sourcepub fn all_successful() -> Self
pub fn all_successful() -> Self
Creates a completion config that requires all tasks to succeed.
§Example
use durable_execution_sdk::CompletionConfig;
let config = CompletionConfig::all_successful();
assert_eq!(config.tolerated_failure_count, Some(0));
assert_eq!(config.tolerated_failure_percentage, Some(0.0));Sourcepub fn with_min_successful(count: usize) -> Self
pub fn with_min_successful(count: usize) -> Self
Creates a completion config with a specific minimum successful count.
Sourcepub fn with_failure_tolerance(count: usize) -> Self
pub fn with_failure_tolerance(count: usize) -> Self
Creates a completion config with a specific failure tolerance.
Trait Implementations§
Source§impl Clone for CompletionConfig
impl Clone for CompletionConfig
Source§fn clone(&self) -> CompletionConfig
fn clone(&self) -> CompletionConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompletionConfig
impl Debug for CompletionConfig
Source§impl Default for CompletionConfig
impl Default for CompletionConfig
Source§fn default() -> CompletionConfig
fn default() -> CompletionConfig
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for CompletionConfig
impl<'de> Deserialize<'de> for CompletionConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CompletionConfig
impl RefUnwindSafe for CompletionConfig
impl Send for CompletionConfig
impl Sync for CompletionConfig
impl Unpin for CompletionConfig
impl UnsafeUnpin for CompletionConfig
impl UnwindSafe for CompletionConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<B> IntoFunctionResponse<B, Body> for Bwhere
B: Serialize,
impl<B> IntoFunctionResponse<B, Body> for Bwhere
B: Serialize,
Source§fn into_response(self) -> FunctionResponse<B, Body>
fn into_response(self) -> FunctionResponse<B, Body>
Convert the type into a FunctionResponse.
Creates a shared type from an unshared type.