1#![cfg_attr(not(feature = "std"), no_std)]
2#![deny(unreachable_pub, rust_2018_idioms)]
3#![deny(missing_docs)]
4
5#[cfg(feature = "std")]
44extern crate std;
45
46mod constants;
47mod errors;
48mod events;
49mod events_chain;
50mod fanout;
51pub mod state;
53pub mod validate;
54mod wait;
55
56mod internal;
57
58pub use constants::*;
59pub use errors::{Error, PublishWithError, RecvWithError};
60pub use events::{
61 init_shared_layout, init_shared_layout_with_layout_bytes, split_mpsc, split_spsc, EventsSlot,
62 MpscConsumer, MpscProducer, PublishSlotError, SharedLayoutCell, SpscReceiver, SpscSender,
63};
64pub use events_chain::{
65 split_chain_mpsc, split_chain_spsc, ChainMpscConsumer, ChainMpscProducer, ChainSpscReceiver,
66 ChainSpscSender,
67};
68pub use fanout::{
69 fanout_handles, fanout_mpsc_producer, init_shared_fanout_layout,
70 init_shared_fanout_layout_with_layout_bytes, FanoutConsumer, FanoutMpscProducer,
71 FanoutProducer, FanoutRouter, RouteOnceResult, RouterMode, RouterSource,
72 SharedFanoutLayoutCell,
73};
74pub use state::{StateLayoutCell, StatePublisher, StateReader};
75pub use validate::{
76 validate_fanout_layout, validate_journal_layout4, validate_sequencer_layout,
77 validate_shared_layout, validate_state_layout,
78};
79pub use wait::{SpinWait, WaitStrategy};
80
81#[cfg(feature = "std")]
82pub use wait::{StdBackoff, YieldWait};
83
84pub mod prelude {
86 pub use crate::{
87 fanout_handles, fanout_mpsc_producer, init_shared_fanout_layout,
88 init_shared_fanout_layout_with_layout_bytes, init_shared_layout,
89 init_shared_layout_with_layout_bytes, split_chain_spsc, split_mpsc, split_spsc,
90 validate_fanout_layout, validate_shared_layout, validate_state_layout, ChainSpscReceiver,
91 ChainSpscSender, Error, EventsSlot, FanoutConsumer, FanoutMpscProducer, FanoutProducer,
92 FanoutRouter, MpscConsumer, MpscProducer, PublishSlotError, RouteOnceResult, RouterMode,
93 RouterSource, SharedFanoutLayoutCell, SharedLayoutCell, SpinWait, SpscReceiver, SpscSender,
94 StateLayoutCell, StatePublisher, StateReader, WaitStrategy,
95 };
96}