1#[derive(behavior_macros::SendProduct)]
13pub struct DeliveryOutcomes<Deliveries, OutcomeSends> {
14 pub deliveries: Deliveries,
15 pub outcomes: OutcomeSends,
16}
17
18mod acknowledgements;
19mod buffer;
20mod circuit_breaker;
21mod correlator;
22mod deduplicator;
23mod order_gate;
24mod priority_queue;
25mod rate_limiter;
26mod router;
27mod sequencer;
28mod work_queue;
29
30pub use acknowledgements::{
31 AcknowledgementError, AcknowledgementInput, AcknowledgementMessage, AcknowledgementOutcome,
32 AcknowledgementRecord, AcknowledgementState, Acknowledgements,
33};
34pub use buffer::{
35 Buffer, BufferConfigError, BufferConfiguration, BufferMessage, BufferOutcome, BufferRejection,
36 BufferState, Buffered, OverflowPolicy,
37};
38pub use circuit_breaker::{
39 BreakerAttempt, BreakerCompletion, BreakerConfigError, BreakerError, BreakerMessage,
40 BreakerOutcome, BreakerPhase, BreakerRejection, BreakerSends, CircuitBreaker, ClosedPhase,
41 ProbePhase,
42};
43pub use correlator::{
44 CorrelationResult, CorrelationState, Correlator, CorrelatorError, CorrelatorMessage,
45};
46pub use deduplicator::{
47 Deduplicator, DeduplicatorConfigError, DeduplicatorMessage, DeduplicatorOutcome,
48 DeduplicatorState,
49};
50pub use order_gate::{OrderGate, OrderGateMessage, OrderGateOutcome, OrderGateState};
51pub use priority_queue::{
52 PriorityQueue, PriorityQueueConfigError, PriorityQueueMessage, PriorityQueueOutcome,
53 PriorityQueueRejection, PriorityQueueState,
54};
55pub use rate_limiter::{
56 RateLimitRejection, RateLimiter, RateLimiterConfigError, RateLimiterMessage,
57 RateLimiterOutcome, RateLimiterState, TokenCount,
58};
59pub use router::{
60 ConsistentHash, LeastLoaded, Load, LoadEvidence, LoadObservation, LoadVersion,
61 MemberEvidenceError, MemberToken, MemberTokenEvidence, MemberTokenObservation,
62 MemberTokenVersion, RendezvousHash, RoundRobin, RouteKey, Router, RouterError, RouterMessage,
63 RoutingObservationRejection, RoutingStrategy,
64};
65pub use sequencer::{Sequence, Sequencer, SequencerMessage, SequencerOutcome, SequencerState};
66pub use work_queue::{
67 WorkQueue, WorkQueueMessage, WorkQueueOutcome, WorkQueueRejection, WorkQueueSends,
68 WorkQueueState,
69};