3 个版本
0.1.3 | 2023 年 3 月 5 日 |
---|---|
0.1.2 | 2023 年 2 月 3 日 |
0.1.1 |
|
0.1.0 | 2022 年 8 月 14 日 |
3 在 #no-panic
每月 43 次下载
10KB
260 代码行
本包为任何实现了 T
的类型提供无 panic API bytes::Buf
,这在 问题 #254 中被提及。
欢迎提交问题和 PR。
示例
use bytes::{Bytes, Buf};
use try_buf::TryBuf;
let mut bytes = Bytes::from_static(&[1, 2, 3, 4]);
let a = bytes.try_get_u16().unwrap();
assert_eq!(a, 0x0102);
let b = bytes.try_get_u32()
.unwrap_or_else(|e| {
println!("fail to get u32: {}", e);
0
});
assert_eq!(b, 0);
assert_eq!(2, bytes.remaining());
lib.rs
:
本包为任何实现了 T
的类型提供无 panic API bytes::Buf
,这在 问题 #254 中被提及。
示例
use bytes::{Bytes, Buf};
use try_buf::TryBuf;
let mut bytes = Bytes::from_static(&[1, 2, 3, 4]);
let a = bytes.try_get_u16().unwrap();
assert_eq!(a, 0x0102);
let b = bytes.try_get_u32()
.unwrap_or_else(|e| {
println!("fail to get u32: {}", e);
0
});
assert_eq!(b, 0);
assert_eq!(2, bytes.remaining());
依赖
~170KB