1#![no_std]
2#![doc = include_str!("../README.md")]
3
4#[cfg(feature = "alloc")]
5extern crate alloc;
6extern crate self as pipecircuit;
7
8mod circuit;
9mod circuit_draft;
10mod continuation;
11mod contracts;
12mod delay;
13mod installation;
14mod installation_draft;
15mod observation_draft;
16mod operation;
17#[cfg(feature = "performance-evidence")]
18pub mod performance_evidence;
19mod pipe;
20mod pipe_flow_draft;
21mod reactor;
22mod step_input;
23#[cfg(feature = "storage")]
24pub mod storage;
25mod switchboard;
26mod synchronized_view;
27mod timer;
28pub mod transport;
29mod value_wrapper;
30
31pub use circuit::{Circuit, CircuitFlowOutcome, CircuitReactionOutcome, CircuitSendOutcome, flow};
32#[doc(hidden)]
33pub use circuit_draft::{
34 CircuitDraft, CircuitInputOfDraft, ObservedCircuitDraft, TurnsCircuitDraftInputToOutput,
35};
36pub use continuation::{
37 CancelledContinuationCompletion, CancelledContinuationWork, ContinuationAdmission,
38 ContinuationArmMismatch, ContinuationArmOutcome, ContinuationArmRefusal,
39 ContinuationCancellationMismatch, ContinuationCancellationOutcome, ContinuationCompletion,
40 ContinuationFailure, ContinuationId, ContinuationResult, ContinuationUnavailable,
41 ContinuationWork, ContinuationWorkCancellationMismatch, ContinuationWorkCancellationOutcome,
42 Continued, Owed, TimeoutAfter,
43};
44#[cfg(feature = "storage")]
45pub use continuation::{
46 ContinuationAdmissionOutcome, ContinuationExpiration, ContinuationExpirationOutcome,
47 ContinuationLedger, ContinuationLedgerCreationError, ContinuationLedgerCreationFailure,
48 ContinuationRefusalOutcome, ContinuationResolutionOutcome, ContinuationRetractionOutcome,
49};
50pub use contracts::{
51 DuplexFitting, EncodedByteCount, MessageDecoder, MessageEncoder, MessageFamily, NoInput,
52 NoOutput, OwnedMessage, Participant, ParticipantIn, ParticipantOut, ReceiveFromOutcome,
53 TransportFrom, TransportTo,
54};
55pub use delay::{After, Delayed};
56#[cfg(feature = "storage")]
57pub use delay::{
58 DelayAdmission, DelayAdmissionOutcome, DelayArmMismatch, DelayArmOutcome, DelayArmRefusal,
59 DelayLedger, DelayLedgerCreationError, DelayLedgerCreationFailure, DelayRefusalOutcome,
60 DelayReleaseOutcome, DelayUnavailable, DelayWithdrawalOutcome,
61};
62pub use installation::{ConductionFailure, ConductionResult, Pipecircuit};
63#[doc(hidden)]
64pub use installation_draft::{PipecircuitDraft, WiringDraft};
65#[cfg(feature = "alloc")]
66#[doc(hidden)]
67pub use observation_draft::{
68 AttributingFlowObserver, AttributingFlowObserverCreationError, FlowAttribution,
69 FlowAttributionFamily, FlowAttributionPhase,
70};
71#[doc(hidden)]
72pub use observation_draft::{
73 CountingFlowObserver, ExecutionCounts, FlowObservation, FlowObserver, NoopFlowObserver,
74 TransitionCounts,
75};
76pub use operation::AtomicOperationOutcome;
77pub use pipe::Pipe;
78#[doc(hidden)]
79pub use pipe_flow_draft::PipeFlow;
80pub use reactor::Reactor;
81pub use step_input::{StateMachine, StepInputOf};
82pub use switchboard::Switchboard;
83pub use synchronized_view::{
84 ApplySynchronizedViewChangeOutcome, ApplySynchronizedViewRevisionSpanOutcome,
85 ApplySynchronizedViewSnapshotOutcome, SynchronizedView, SynchronizedViewRead,
86 SynchronizedViewRevision, SynchronizedViewSnapshotRequiredReason,
87};
88pub use timer::{
89 ElapsedTimerTokens, EmptyElapsedTimerTokens, Timer, TimerArmDecision, TimerArmOutcome,
90 TimerArmRefusal, TimerCancellationDecision, TimerCancellationOutcome, TimerCancellationRefusal,
91 TimerIn, TimerOut, TimerToken, WakeAfter, WakePrecision,
92};
93pub use transport::Inline;
94#[doc(hidden)]
95pub use transport::InlineCircuitDraft;
96#[doc(hidden)]
97pub use transport::StepsParticipantInputToOutput;