Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ bufkit Public
generated from al8n/template-rs

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.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

al8n/bufkit

Repository files navigation

bufkit

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.

github LoC Build codecov

docs.rs crates.io crates.io license

Overview

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.

Features

  • Predictable memory usage – operates directly on memory you provide, no hidden allocations.
  • Explicit error handling – choose panicking, Option, or detailed Result with requested vs. available byte counts.
  • Segmented views – create independent Chunk/ChunkMut views into the same buffer.
  • Offset reads/writes – operate at arbitrary positions without unsafe pointer math.
  • Embedded friendly - no_std & no_alloc ready – works in embedded and constrained environments.
  • Retry-friendlytry_* methods enable robust partial read/write handling.

Installation

[dependencies]
bufkit = "0.5"

Feature Flags

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

Alternatives

  • 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.

License

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.

About

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.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

No packages published

Languages