Expand description
§ringfire
Ultra-low-latency, zero-copy lock-free Inter-Process Communication (IPC) ring buffer and shared memory bus for Linux.
Designed as the high-performance cross-process counterpart to rapidfire,
operating over memory-mapped /dev/shm files with 128-byte cache-line aligned headers,
atomic release/acquire synchronization, LatestWins lossy overflow handling,
configurable wait strategies (BusySpin, YieldBackoff, Futex sleep while idle),
and an O(1) seqlock-backed Blackboard state table.
Re-exports§
pub use arena::ArenaHeader;pub use arena::BlobRef;pub use arena::PayloadArena;pub use blackboard::BlackboardConsumer;pub use blackboard::BlackboardProducer;pub use blob::BlobConsumer;pub use blob::BlobPacket;pub use blob::BlobProducer;pub use blob::BlobProducerBuilder;pub use blob::BlobRecvStatus;pub use checkpoint::OffsetCheckpoint;pub use error::Result;pub use error::RingfireError;pub use multiplexer::RingMultiplexer;pub use multiplexer::AsyncRingMultiplexer;pub use header::BlackboardHeader;pub use header::BlackboardSlot;pub use header::ReaderSlot;pub use header::RingHeader;pub use header::Slot;pub use header::BLACKBOARD_MAGIC;pub use header::BLACKBOARD_VERSION;pub use header::FLAG_MODE_MPMC;pub use header::FLAG_MODE_SPMC;pub use header::FLAG_POLICY_LATEST_WINS;pub use header::FLAG_POLICY_LOSSLESS_BACKPRESSURE;pub use header::FLAG_SPARSE;pub use header::FLAG_WITH_ARENA;pub use header::FLAG_WITH_REGISTRY;pub use header::RINGFIRE_MAGIC;pub use header::RINGFIRE_VERSION;pub use header::SLOT_WRITING;pub use mpmc::MpmcProducer;pub use mpmc::MpmcQueueConsumer;pub use registry::ReaderInfo;pub use registry::ReaderRegistration;pub use registry::ReaderRegistry;pub use registry::DEFAULT_MAX_READERS;pub use replication::Geometry;pub use replication::Mirror;pub use replication::MirrorBuilder;pub use replication::MirrorHandle;pub use replication::MirrorStart;pub use replication::MulticastConfig;pub use replication::ReplicaServer;pub use signature::compute_layout_signature;pub use signature::fnv1a64;pub use signature::LayoutSignature;pub use spmc::CleanupMode;pub use spmc::ConsumerStartMode;pub use spmc::FlowControl;pub use spmc::RecvStatus;pub use spmc::RingConsumer;pub use spmc::RingConsumerBuilder;pub use spmc::RingProducer;pub use spmc::RingProducerBuilder;pub use tsc::CycleStamp;pub use wait::BusySpin;pub use wait::FutexWait;pub use wait::WaitStrategy;pub use wait::YieldBackoff;pub use async_ring::AsyncRingConsumer;
Modules§
- arena
- PayloadArena & BlobRef
- async_
ring - blackboard
- blob
- BlobProducer & BlobConsumer
- checkpoint
- High-performance shared memory offset persistence for ring consumers.
- error
- ffi
- header
- mpmc
- Multi-producer ring buffer and competing-consumer work queue.
- multiplexer
- RingMultiplexer & AsyncRingMultiplexer
- registry
- ReaderRegistry & Reader Tracking
- replication
- Ring replication over the network
- signature
- Layout signature verification for cross-process shared memory structures.
- spmc
- tsc
- CycleStamp
- wait