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日 |
#3 in #qpack
108 每月下载次数
在 3 个crate中使用 (通过 ls-qpack)
665KB
9K SLoC
ls-qpack
QPACK: HTTP/3的字段压缩 (RFC 9204)
Rust实现,基于 ls-qpack
简介
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