| Crates.io | bufsize |
| lib.rs | bufsize |
| version | 1.0.10 |
| created_at | 2019-10-09 05:16:03.853306+00 |
| updated_at | 2025-03-03 09:11:53.791576+00 |
| description | bytes::BufMut implementation to count buffer size |
| homepage | |
| repository | https://github.com/dtolnay/bufsize |
| max_upload_size | |
| id | 171134 |
| size | 27,912 |
This library provides an implementation of bytes::BufMut to count the size
of a resulting buffer.
[dependencies]
bufsize = "1.0"
Compiler support: requires rustc 1.39+
use bufsize::SizeCounter;
use bytes::BufMut;
pub struct DataStructure;
impl DataStructure {
pub fn serialize<B: BufMut>(&self, buf: &mut B) {
let name = "DataStructure";
buf.put_u8(name.len() as u8);
buf.put_slice(name.as_bytes());
buf.put_u32_le(9999);
buf.put_f32_le(1.0);
}
}
fn main() {
let mut sizecount = SizeCounter::new();
DataStructure.serialize(&mut sizecount);
let mut buffer = Vec::with_capacity(sizecount.size());
DataStructure.serialize(&mut buffer);
assert_eq!(sizecount.size(), buffer.len());
}