Expand description
Strongly typed Rust client and worker APIs for durable Dex Flows.
Define Flow and Step implementations, register them with Registry, host them with
Worker, and control executions with Client. The crate also exposes typed Attributes,
Channels, waits, decisions, RPCs, lifecycle options, and structured errors.
Structs§
- Attribute
- Defines one durable, typed value stored with a Flow.
- Attribute
Index - Describes how Dex projects an Attribute value into its Flow-search index.
- Attribute
Map - Defines keyed durable values sharing one Attribute name.
- Blob
Cache - Stores immutable Dex blob payloads in a bounded local directory.
- Blob
Cache Config - Configures one persistent
crate::BlobCache. - Channel
- Defines one durable FIFO queue of typed messages.
- Channel
Guard - Identifies a Channel or Channel-map instance that must be empty before conditional completion.
- Channel
Map - Defines independently queued Channel instances under one name.
- Client
- Provides blocking, typed control of registered Dex Flows.
- Client
Options - Configures how a
crate::Clientreaches Dex and identifies application workers. - Condition
- Represents one durable timer, Channel, or SubFlow predicate.
- Condition
Combination - Groups conditions that must all succeed as one branch of
Wait::any_combination_of. - Context
- Provides invocation metadata and staged durable changes to Step and RPC handlers.
- Flow
Config - Overrides runtime behavior for one Flow.
- Flow
Info - Summarizes one Flow run returned by
crate::Client::describe_flow. - Flow
Result - Describes an observed Flow status and its output-bearing completions.
- Handler
Error - Reports an application-defined Step or RPC failure to Dex.
- Persistence
Schema - Declares the Attributes, Channels, and Streams a Flow owns.
- Registry
- Validates and stores all Flow definitions used by a Client or Worker.
- Retry
Policy - Overrides Dex retry timing for a Flow,
wait_for, orexecuteoperation. - Rpc
- Names one typed RPC exposed by a Flow.
- RpcDefinition
- Adds execution options to a typed
Rpcbefore handler binding. - RpcList
- Binds typed RPC definitions to methods on one Flow type.
- RpcResult
- Carries a typed RPC output and optional Step movements.
- Search
Flow Entry - Contains one Flow row returned by a search query.
- Search
Flows Page - Contains one page of
crate::Client::search_flowsresults. - Service
Error - Preserves one failed Dex service operation and its transport source.
- Start
Flow Options - Configures a new Flow execution.
- Step
Completion - Contains one output-bearing Step completion returned by
crate::Client::wait_for_flow. - Step
Decision - Describes the durable outcome of one successful Step execution.
- Step
Execution Id - Identifies one execution of a Step type within a Flow run.
- Step
List - Collects a Flow’s starting Step and remaining Step definitions.
- Step
Movement - Targets a Step with encoded input and an optional per-movement options override.
- Step
Options - Configures one Step’s handler execution and persistence behavior.
- Stop
Flow Options - Selects how
crate::Client::stop_flowends an active Flow. - Stream
- Defines a typed best-effort resumable message Stream owned by one Flow type.
- Stream
Message - Describes one retained Stream message returned by
crate::Client::read_stream. - SubFlow
- Creates durable SubFlow Conditions and reads their Execute results.
- SubFlow
Options - Configures one durable SubFlow Condition.
- Time
Travel Options - Selects a historical point from which
crate::Client::time_travelcreates a new run. - Timer
- Creates durable timer conditions for Step waits.
- Wait
- Describes when Dex may invoke a Step’s
executehandler. - Worker
- Hosts registered Flow Step and RPC handlers over application WorkerService.
- Worker
Error - Preserves the original Worker-side error carried by a service failure.
- Worker
Options - Configures a
crate::Workerlistener and its Dex connection. - Worker
Target - Identifies the application WorkerService endpoint Dex should call.
Enums§
- Active
Step Search Mode - Controls which active Step types Dex indexes for Flow search.
- Error
SubStatus - Provides Dex-specific detail beyond a gRPC status code.
- Flow
Error Type - Categorizes the failure recorded for an uncompleted Flow.
- Flow
Status - Describes the current or terminal state of a Flow run.
- Flow
Timeout Policy - Controls how Dex responds when a positive soft Flow timeout expires.
- Grpc
Code - gRPC status codes used by
Status. - IdReuse
Policy - Controls whether
crate::Client::start_flow_with_optionsmay reuse a Flow ID. - SdkError
- Reports service, definition, value, handler, and Flow-completion failures.
- Step
Durability - Controls when staged Step persistence must be durably acknowledged.
- SubFlow
Reuse Policy - Controls how a generated SubFlow Flow ID resolves an existing execution.
- Time
Travel Step Method - Selects the Step method used as a Step execution time travel boundary.
- TimerId
- Selects one timer from a Step execution for
crate::Client::skip_timer. - Wait
ForFailure Policy - Selects the terminal behavior after
wait_forexhausts its retry policy.
Traits§
- Flow
- Defines a durable application Flow and its registered API surface.
- Step
- Defines one durable state transition in a Flow.
- Value
- Marks application values that Dex can serialize as JSON and move across handler boundaries.
Type Aliases§
- Flow
Timeout Handler - Function registered by a
Flowto handle expiration of its soft timeout. - Handler
Result - Result returned by application Step and RPC handlers.
- SdkResult
- Result returned by fallible Dex SDK operations.