Skip to main content

Module effects

Module effects 

Source
Expand description

Effect handler system for choreographic programming

This module provides the effect handler abstraction that decouples protocol logic from transport implementation, enabling testable and composable protocols.

The system uses a free algebra approach where choreographic programs are represented as data structures that can be analyzed, transformed, and interpreted.

Re-exports§

pub use algebra::Effect;
pub use algebra::InterpretResult;
pub use algebra::InterpreterState;
pub use algebra::Program;
pub use algebra::ProgramBuilder;
pub use algebra::ProgramError;
pub use algebra::ProgramMessage;
pub use contract::validate_handler_contract_profile;
pub use contract::validated_contract_profile;
pub use contract::DeliveryModel;
pub use contract::DocumentedHandlerContract;
pub use contract::ExtensionDispatchContract;
pub use contract::ExtensionDispatchMode;
pub use contract::HandlerContractProfile;
pub use contract::HandlerContractTier;
pub use contract::HandlerContractViolation;
pub use contract::ProtocolSemanticContract;
pub use contract::RetryPolicy;
pub use contract::TimeoutPolicy;
pub use contract::TransportPolicyContract;
pub use extension::ExtensionEffect;
pub use extension::ExtensionError;
pub use handler::ChoreoHandler;
pub use handler::ChoreoHandlerExt;
pub use handler::ChoreoResult;
pub use handler::ChoreographyError;
pub use handler::ContextExt;
pub use handler::Endpoint;
pub use handler::LabelId;
pub use handler::MessageTag;
pub use handler::NoOpHandler;
pub use handler::RoleId;
pub use interpreter::interpret;
pub use interpreter::interpret_extensible;
pub use registry::ExtensibleHandler;
pub use registry::ExtensionRegistry;
pub use handlers::InMemoryHandler;
pub use handlers::RecordedEvent;
pub use handlers::RecordingHandler;
pub use handlers::TelltaleEndpoint;
pub use handlers::TelltaleHandler;
pub use handlers::TelltaleSession;
pub use middleware::Metrics;
pub use middleware::Retry;
pub use middleware::Trace;

Modules§

algebra
contract
Machine-checkable handler contract ledger for the algebraic-effects boundary.
extension
Type-safe extension system for choreographic effects
handler
Effect Handler Architecture for Choreographic Programming
handlers
interpreter
middleware
registry
Extension handler registry for type-safe extension dispatch