monocoque-rs-core 0.4.0

Protocol-agnostic messaging kernel with pluggable io_uring (compio), tokio, or smol I/O
Documentation

monocoque-core

⚠️ Internal Implementation Crate

This crate is an internal implementation detail of the Monocoque project. It provides the low-level runtime primitives shared by the protocol crates: the owned-buffer I/O layer over the io_uring (compio), tokio, and smol backends, the read slab, socket options, endpoint parsing, byte-based backpressure, and the inproc transport.

For Application Development

Use the monocoque crate instead:

[dependencies]
monocoque-rs = { version = "0.4", features = ["zmq"] }
use monocoque::zmq::DealerSocket;

#[compio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut socket = DealerSocket::connect("127.0.0.1:5555").await?;
    socket.send(vec![b"Hello!".into()]).await?;
    let response = socket.recv().await;
    Ok(())
}

Architecture

The Monocoque project is organized as:

  • monocoque - Public API crate (use this)
  • monocoque-zmtp - Internal ZMTP 3.1 protocol implementation (internal)
  • monocoque-core - Internal runtime primitives (this crate, internal)
    • Owned-buffer read/write over compio / tokio / smol
    • Zero-copy read slab and buffers
    • Socket options, endpoints, backpressure, inproc transport

Documentation

See the main project documentation: github.com/vorjdux/monocoque