dambi 0.1.1

Single-threaded (!Send + !Sync) primitives
Documentation
//! Single-threaded (`!Send + !Sync`) primitives.
//!
//! `Bytes` / `BytesMut` use a `Cell`-based refcount instead of `Arc`,
//! so cloning is one cache-line bump instead of an atomic RMW. The
//! trade-off is that every consumer of these buffers must live on the
//! same thread — the model used by per-thread `io_uring` reactors.
//!
//! Sibling primitives (`LocalCell`, `AlwaysInit`, `Slab`, `MmapSlab`,
//! `SlotId`, `InlineFuture`, `channel`) follow the same paradigm:
//! thread-pinned, no atomics, no cross-core sharing. dambi pulls them
//! together as the storage layer for any shared-nothing runtime.

mod buf;
mod byte_buffer;
mod bytes;
pub mod channel;
mod inline_future;
mod local;
mod mmap_slab;
mod slab;
mod slot_id;
mod waker_set;

pub use buf::{Buf, BufMut};
pub use byte_buffer::{ByteBuffer, ByteBufferMut};
pub use bytes::{Bytes, BytesMut};
pub use inline_future::InlineFuture;
pub use local::{AlwaysInit, LocalCell};
pub use mmap_slab::MmapSlab;
pub use slab::{LiveKey, Slab};
pub use slot_id::{SlotGen, SlotId};
pub use waker_set::WakerSet;