pipecircuit 0.0.23

Correct. Robust. Fast. Portable. Pick four.
Documentation
#![no_std]
#![doc = include_str!("../README.md")]

#[cfg(feature = "alloc")]
extern crate alloc;
extern crate self as pipecircuit;

mod circuit;
mod codec;
mod continuation;
mod delay;
mod driver;
mod installation;
mod operation;
#[cfg(feature = "performance-evidence")]
pub mod performance_evidence;
mod pipe;
mod reactor;
mod roster;
mod route;
mod step_input;
#[cfg(feature = "storage")]
pub mod storage;
mod submission_policy;
mod switchboard;
mod synchronized_view;
mod timer;
pub mod transport;
mod value_wrapper;

pub use circuit::{Circuit, CircuitFlowOutcome, CircuitReactionOutcome, CircuitSendOutcome, flow};
pub use codec::{
    EncodedByteCount, MessageDecoder, MessageEncoder, MessageFamily, OwnedMessage, PipeIn, PipeOut,
};
pub use continuation::{
    CancelledContinuationCompletion, CancelledContinuationWork, ContinuationAdmission,
    ContinuationArmMismatch, ContinuationArmOutcome, ContinuationArmRefusal,
    ContinuationCancellationMismatch, ContinuationCancellationOutcome, ContinuationCompletion,
    ContinuationFailure, ContinuationId, ContinuationReply, ContinuationResult,
    ContinuationUnavailable, ContinuationWork, ContinuationWorkCancellationMismatch,
    ContinuationWorkCancellationOutcome, Continued, Owed, TimeoutAfter,
};
#[cfg(feature = "storage")]
pub use continuation::{
    ContinuationAdmissionOutcome, ContinuationExpiration, ContinuationExpirationOutcome,
    ContinuationLedger, ContinuationLedgerCreationError, ContinuationLedgerCreationFailure,
    ContinuationRefusalOutcome, ContinuationResolutionOutcome, ContinuationRetractionOutcome,
};
pub use delay::{After, Delayed};
#[cfg(feature = "storage")]
pub use delay::{
    DelayAdmission, DelayAdmissionOutcome, DelayArmMismatch, DelayArmOutcome, DelayArmRefusal,
    DelayLedger, DelayLedgerCreationError, DelayLedgerCreationFailure, DelayRefusalOutcome,
    DelayReleaseOutcome, DelayUnavailable, DelayWithdrawalOutcome,
};
pub use driver::{
    AdmissionFailure, AdmissionHandler, AdmittedPipeDriver, DriveFailure, FallibleAdmission,
    IntakeAdmission, IntakeGate, NoActivation, PipeDriver, PipeOutputHandler, PipeSender,
    ScopedSender,
};
pub use installation::{ConductionFailure, ConductionResult, Pipecircuit};
pub use operation::AtomicOperationOutcome;
pub use pipe::{InstalledPipe, NoInput, NoOutput, Pipe};
#[cfg(feature = "programs")]
pub use pipecircuit_macros::pipe_roster;
pub use reactor::Reactor;
pub use roster::{
    BindingDescription, DeclarationLocation, DescribeBindings, DescribeRoster, PipeBinding,
    PipeDescription, PipeRole, PipeRoster,
};
pub use route::{FlowFailure, PendingRoutes, Route};
pub use step_input::{StateMachine, StepInputOf};
pub use submission_policy::{InlineSubmission, SubmissionPolicy, SubmitWith};
pub use switchboard::Switchboard;
pub use synchronized_view::{
    ApplySynchronizedViewChangeOutcome, ApplySynchronizedViewRevisionSpanOutcome,
    ApplySynchronizedViewSnapshotOutcome, SynchronizedView, SynchronizedViewRead,
    SynchronizedViewRevision, SynchronizedViewSnapshotRequiredReason,
};
pub use timer::{
    ElapsedTimerTokens, EmptyElapsedTimerTokens, Timer, TimerArmDecision, TimerArmOutcome,
    TimerArmRefusal, TimerCancellationDecision, TimerCancellationOutcome, TimerCancellationRefusal,
    TimerIn, TimerOut, TimerToken, WakeAfter, WakePrecision,
};
#[doc(hidden)]
pub use transport::StepsPipeInputToOutput;
pub use transport::{DuplexTransport, Inline, ReceiveFromOutcome, TransportFrom, TransportTo};