Expand description
§poprako-orchestra — Transaction Abstraction Framework
Provides a layered set of traits for composing and executing transactional operations against an abstract backend (a “nucleus”). The crate decouples three concerns:
- What to do: described by the
oper::Opertrait, which carries the operation’s input data and declares itsOutputtype. - How to do it: described by the
step::Steptrait, which receives anOperand a mutable context, executes the operation, and returns the output. - Where to run it: described by the
nucl::Nucltrait, which provides a managed context scope where the application can execute arbitrary async logic with proper error discrimination (backend errors vs. step-execution errors).
§Layering
Oper and Step together form the
semantic layer — they model what your application does inside a
transaction. Nucl is the back-end layer — it models
the transactional engine (e.g. a database connection pool, a saga
coordinator) that provides the context and handles commit / rollback.
Re-exports§
Modules§
- nucl
- Defines the
Nucltrait — the transactional nucleus that provides a managed execution context and coordinates application logic inside it. - oper
- Defines the
Opertrait — the “what” of a transactional operation. - proxy
- step
- Defines the
StepandRuntraits — the “how” of a transactional (or non-transactional) operation.
Macros§
- run_
proxy - Builds a proxy that dispatches operations through
Run. - step_
proxy - Builds a proxy that dispatches operations through
Step.