1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! Core traits and types for the Hexeract messaging framework.
//!
//! This crate is the cross-cutting foundation that every other Hexeract
//! crate depends on. It defines the marker traits for messages
//! ([`Command`], [`Query`], [`Notification`]), the matching handler
//! traits ([`CommandHandler`], [`QueryHandler`], [`NotificationHandler`]),
//! the [`MessageEnvelope`] and [`HandlerContext`] passed alongside every
//! dispatch, the [`Middleware`] / [`Next`] / [`Terminal`] pipeline
//! primitives, the unified [`HexeractError`] type, and the
//! [`HandlerRegistration`] metadata collected by the `#[handler]` macro.
/// Marker trait for messages expressing the intent to mutate state.
/// Contextual information propagated into every handler invocation.
/// Type-erased metadata carried alongside every dispatch.
/// Unified framework error type.
/// Async handler traits dispatched by the mediator.
/// Unique identifier newtypes for messages and correlations.
/// Middleware pipeline primitives.
/// Marker trait for broadcast messages with fan-out semantics.
/// Marker trait for read-only messages asking for information.
/// Handler registration metadata collected at link time by the
/// `#[handler]` macro.
pub use Command;
pub use HandlerContext;
pub use MessageEnvelope;
pub use HexeractError;
pub use ;
pub use ;
pub use ;
pub use Notification;
pub use Query;
pub use ;