Crates.io | io-buffer |
lib.rs | io-buffer |
version | 1.0.3 |
created_at | 2025-06-23 17:22:58.060698+00 |
updated_at | 2025-07-31 19:45:56.705163+00 |
description | A buffer abstracted for disk and network IO, with static lifetime. Unify Vec and *libc::c_void into one type, with smallest mem footprint. |
homepage | |
repository | https://github.com/NaturalIO/io-buffer-rs |
max_upload_size | |
id | 1723207 |
size | 43,944 |
This crate provide a [Buffer] type, to unify the difference of different types of buffer, for disk and network IO:
Converts owned buffer, From<Vec<u8>>
and To<Vec<u8>>
.
Allocation with malloc()
(Buffer::alloc())
Allocation with posix_memalign()
(Buffer::aligned())
Converts from const reference (Buffer::from_c_ref_const()), or from mutable reference (Buffer::from_c_ref_mut()) of unsafe c code.
On debug mode, provides runtime checking if you try to as_mut() a const buffer.
Cargo.toml:
[dependencies]
io-buffer = "1"
compress: enable [Compression] trait
lz4: enable lz4 compression