Crates.io | quic-rpc-utils |
lib.rs | quic-rpc-utils |
version | |
source | src |
created_at | 2024-07-29 09:00:05.905098 |
updated_at | 2024-12-31 08:36:38.189737 |
description | quic-rpc库的高级封装 |
homepage | |
repository | https://gitcode.com/mzdk100/quic-rpc-wrap.git |
max_upload_size | |
id | 1318674 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
quic-rpc-wrap通过属性宏的方式简化quic-rpc的实现,消除了所有不必要的模板代码。 编写一次服务端的实现,自动生成客户端方法的存根,与本地函数调用几乎没有差异。
支持一对一请求和响应;
支持客户端流模式;
支持服务端流模式;
支持客户端和服务端的双向流模式;
支持模块化,可用于生产环境;
高性能,支持quic协议(http3)、http2协议和内存、命名管道等传输,其中quic协议比http2性能提升了30%;
人体工程学的设计,代码整洁,使用简单。
cargo run --package quic-rpc-example --bin flume --features server,client,flume
cargo run --package quic-rpc-example --bin hyper --features server,client,hyper
cargo run --package quic-rpc-example --bin quinn --features server,client,quinn
IROH是一个库,为您提供了按公共密钥拨号的API。您说“连接到该手机”,IROH将为您找到并维护最快的连接,无论它在哪里。
cargo run --package quic-rpc-example --bin iroh --features server,client,iroh
cargo run --package quic-rpc-example --bin pipe --features server,client,pipe
如果启用server
特性,则会生成服务端模板代码;
如果启用client
特性,则会生成客户端模板代码。
cargo test
如果您的应用使用了QUIC协议传输,在调试过程中可能会比较困难,我们增加了一个可以生成自签名证书的cargo扩展,以便于您在开发环境中使用。 如果想要生成证书文件,首先需要安装cargo扩展程序:
cargo install quic-rpc-wrap
然后可以使用下面的命令来生成自签名证书文件:
cargo server-cert gen -n localhost -n your.domain -c /path/to/your_cert.crt -k /path/to/your/private_key.key
如果想要获取命令的帮助,可以运行:
cargo server-cert gen -h