acceptor-alloc 0.0.1

alloc-based acceptors built on the accepts core traits
Documentation
  • Coverage
  • 100%
    2 out of 2 items documented0 out of 0 items with examples
  • Size
  • Source code size: 24.91 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.64 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • Homepage
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • Mikou-2A

acceptor-alloc

Crates.io Docs.rs License: MIT OR Apache-2.0 CI

acceptor-alloc is an alloc-powered bundle of acceptors built on the accepts core traits. It provides acceptors that require heap-backed collections without pulling in std.

⚠️ Pre-release: version 0.0.1 is experimental. APIs and crate layout may change without backward compatibility guarantees.

Add the dependency

[dependencies]
acceptor-alloc = "0.0.1"

Example: route (Key, Value) pairs using BTreeKVRouter

use alloc::collections::BTreeMap;
use acceptor_alloc::BTreeKVRouter;
use accepts::Accepts;

#[derive(Clone, Debug, Default)]
struct Sink;
impl Accepts<(char, i32)> for Sink {
    fn accept(&self, pair: (char, i32)) {
        core::hint::black_box(pair);
    }
}

let mut routes = BTreeMap::new();
routes.insert('a', Sink);

// fallback is a no-op `()`, which implements `Accepts`.
let router = BTreeKVRouter::new(routes);

router.accept(('a', 1)); // routed to Sink
router.accept(('z', 2)); // routed to fallback (no-op)

Version map

acceptor-alloc accepts
0.0.1 0.0.2

More

See ARCHITECTURE.md for design notes and the broader acceptor series lineup.

License

MIT OR Apache-2.0