#![no_std]
#![doc = include_str!("../README.md")]
#[cfg(feature = "alloc")]
extern crate alloc;
extern crate self as pipecircuit;
mod circuit;
mod circuit_draft;
mod continuation;
mod contracts;
mod installation;
mod installation_draft;
mod observation_draft;
mod operation;
#[cfg(feature = "performance-evidence")]
pub mod performance_evidence;
mod pipe;
mod pipe_flow_draft;
mod reactor;
mod step_input;
#[cfg(feature = "storage")]
pub mod storage;
mod switchboard;
mod synchronized_view;
pub mod transport;
mod value_wrapper;
pub use circuit::{Circuit, CircuitFlowOutcome, CircuitReactionOutcome, CircuitSendOutcome, flow};
#[doc(hidden)]
pub use circuit_draft::{
CircuitDraft, CircuitInputOfDraft, ObservedCircuitDraft, TurnsCircuitDraftInputToOutput,
};
pub use continuation::{
CancelContinuationDeadline, CompleteContinuationFailure, CompletedContinuation, Continuation,
ContinuationCompletion, ContinuationCoordinator, ContinuationDeadline, ContinuationId,
ContinuationIdentifiersExhausted, ContinuationIds, ContinuationInput, ContinuationNotPending,
ContinuationSettlement, ContinuationSlot, ContinuationSlotOccupied, ContinuationWork, Owed,
OwedAdmissionFailure, OwedAdmissionOutcome, OwedIssueFailure, OwedIssueOutcome, ParkedOwed,
PositiveDuration, UnparkedOwedParts,
};
pub use contracts::{
DuplexFitting, EncodedByteCount, MessageDecoder, MessageEncoder, MessageFamily, NoInput,
NoOutput, OwnedMessage, Participant, ParticipantIn, ParticipantOut, ReceiveFromOutcome,
TransportFrom, TransportTo,
};
pub use installation::{ConductionFailure, ConductionResult, Pipecircuit};
#[doc(hidden)]
pub use installation_draft::{PipecircuitDraft, WiringDraft};
#[cfg(feature = "alloc")]
#[doc(hidden)]
pub use observation_draft::{
AttributingFlowObserver, AttributingFlowObserverCreationError, FlowAttribution,
FlowAttributionFamily, FlowAttributionPhase,
};
#[doc(hidden)]
pub use observation_draft::{
CountingFlowObserver, ExecutionCounts, FlowObservation, FlowObserver, NoopFlowObserver,
TransitionCounts,
};
pub use operation::AtomicOperationOutcome;
pub use pipe::Pipe;
#[doc(hidden)]
pub use pipe_flow_draft::PipeFlow;
pub use reactor::Reactor;
pub use step_input::{StateMachine, StepInputOf};
pub use switchboard::Switchboard;
pub use synchronized_view::{
ApplySynchronizedViewChangeOutcome, ApplySynchronizedViewRevisionSpanOutcome,
ApplySynchronizedViewSnapshotOutcome, SynchronizedView, SynchronizedViewRead,
SynchronizedViewRevision, SynchronizedViewSnapshotRequiredReason,
};
pub use transport::Inline;
#[doc(hidden)]
pub use transport::InlineCircuitDraft;
#[doc(hidden)]
pub use transport::StepsParticipantInputToOutput;