Skip to main content

SubFlowOptions

Struct SubFlowOptions 

Source
pub struct SubFlowOptions { /* private fields */ }
Expand description

Configures one durable SubFlow Condition.

Changed in 1.25.0: the SubFlow always selects pull Workers. Other omitted configuration fields inherit the parent’s effective settings. Dex generates its Flow ID and request ID. Builder methods preserve normal Flow start defaults when omitted. Matching generated request IDs always attach to an existing child, regardless of reuse policy. For different request IDs, the reuse policy decides whether to attach or restart. Completing an any-of wait does not stop non-winning SubFlows; use their generated Flow IDs with crate::Client::stop_flow when those children should stop.

Implementations§

Source§

impl SubFlowOptions

Source

pub fn new() -> Self

Creates options using the abnormal-restart reuse policy and normal start defaults.

Source

pub fn timeout(self, value: Duration) -> Self

Sets the maximum total SubFlow execution duration.

Source

pub fn timeout_policy(self, value: FlowTimeoutPolicy) -> Self

Selects what Dex does when the positive soft SubFlow timeout expires.

Source

pub fn timeout_handler_options(self, value: FlowTimeoutHandlerOptions) -> Self

Configures execution and selective state loading for the target Flow’s timeout handler.

Source

pub fn start_delay(self, value: Duration) -> Self

Sets a delay before the SubFlow starting Step after server acceptance.

The Server currently supports only a zero delay. It rejects a Step result that requests a SubFlow with a positive delay as invalid input, so that Step attempt fails.

Source

pub fn retry_policy(self, value: RetryPolicy) -> Self

Sets a whole-Flow retry policy for the SubFlow.

The Server does not support whole-Flow retry. It rejects a Step result that requests a SubFlow with this option as invalid input, so that Step attempt fails. Configure crate::RetryPolicy on the SubFlow’s Step methods through crate::StepOptions instead.

Source

pub fn config_override(self, value: FlowConfig) -> Self

Applies fields over the inherited parent Flow configuration.

Source

pub fn reuse_policy(self, value: SubFlowReusePolicy) -> Self

Selects existing-execution resolution behavior.

Source

pub fn condition_id(self, value: impl Into<String>) -> Self

Assigns the stable ID required by crate::Wait::any_combination_of.

Source

pub fn initial_attribute<T: Value>( self, attribute: &Attribute<T>, value: T, ) -> Self

Adds one initial singleton Attribute owned by the target SubFlow.

Source

pub fn initial_attribute_map<T: Value>( self, attribute: &AttributeMap<T>, instance: &str, value: T, ) -> Self

Adds one initial Attribute-map value for an instance. Slash is prohibited in instance keys because it is a reserved character.

Trait Implementations§

Source§

impl Clone for SubFlowOptions

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for SubFlowOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more