Skip to main content

pipecircuit/
lib.rs

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;