Crates.io | bufkit |
lib.rs | bufkit |
version | 0.5.1 |
created_at | 2025-07-31 16:49:29.968908+00 |
updated_at | 2025-08-21 07:35:23.779911+00 |
description | Memory-backed buffer toolkit with Chunk/ChunkMut traits for predictable, explicit, and retry-friendly access; ideal for Sans-I/O style protocol parsers, database engines, and embedded systems. |
homepage | https://github.com/al8n/bufkit |
repository | https://github.com/al8n/bufkit |
max_upload_size | |
id | 1775345 |
size | 367,534 |
no_std
-friendly, memory-backed buffer toolkit designed for Sans-I/O style encoding and decoding.
Provides Chunk
(read-only view), ChunkMut
(mutable view), and helpers for explicit, convenient bounds-checked access.
bufkit is a small, focused toolkit for working with in-memory buffers in a predictable, controlled way.
It’s Sans-I/O friendly — meaning it’s easy to integrate into network protocol parsers, database engines, binary file format decoders/encoders, and embedded systems that follow the Sans-I/O design pattern — but it doesn’t implement any I/O itself.
Option
, or detailed Result
with requested vs. available byte counts.Chunk
/ChunkMut
views into the same buffer.no_std
& no_alloc
ready – works in embedded and constrained environments.try_*
methods enable robust partial read/write handling.[dependencies]
bufkit = "0.5"
Feature | Default? | Description |
---|---|---|
std |
Yes | Enables std integration |
alloc |
No | Enables heap-allocated buffer support |
varint |
No | LEB128 encoding & decoding |
bytes_1 |
No | Enable integration with bytes 1.x |
bytes::{Buf, BufMut}
: Buffer traits for the bytes may or may not be stored in contiguous memory.buffer-trait
: A Buffer
trait for reading into uninitialized buffers.bufkit
is under the terms of both the MIT license and the
Apache License (Version 2.0).
See LICENSE-APACHE, LICENSE-MIT for details.
Copyright (c) 2025 Al Liu.