6个版本
0.1.4 | 2023年12月20日 |
---|---|
0.1.3 | 2023年9月16日 |
0.1.2 | 2023年6月24日 |
0.1.1 | 2023年5月26日 |
0.1.0-alpha | 2022年10月16日 |
#1174 in 网络编程
113 每月下载量
在 2 个crate中使用(通过 wtransport-proto_lightyea…)
700KB
10K SLoC
ls-qpack
QPACK:HTTP/3的字段压缩(RFC 9204)
基于ls-qpack的Rust实现
简介
QPACK是用于HTTP/3的头部数据压缩器。它允许在数据乱序传输的情况下保持正确性,同时为实现提供了在抵抗头阻塞和最优压缩比之间进行平衡的灵活性。
示例
use ls_qpack::decoder::Decoder;
use ls_qpack::encoder::Encoder;
use ls_qpack::StreamId;
const HEADERS: [(&str, &str); 2] = [(":status", "404"), ("foo", "bar")];
fn main() {
let (encoded_headers, _) = Encoder::new()
.encode_all(StreamId::new(0), HEADERS)
.unwrap()
.into();
let decoded_headers = Decoder::new(0, 0)
.decode(StreamId::new(0), encoded_headers)
.unwrap()
.take()
.unwrap();
println!("Decoded header: {:?}", decoded_headers);
}
依赖项
~0–2MB
~41K SLoC