32 个版本

0.4.3 2024年7月27日
0.4.1 2024年5月18日
0.4.0 2024年3月30日
0.2.25 2023年11月19日
0.2.13 2022年11月21日

#2145网络编程

Download history 350/week @ 2024-05-01 416/week @ 2024-05-08 796/week @ 2024-05-15 656/week @ 2024-05-22 541/week @ 2024-05-29 468/week @ 2024-06-05 664/week @ 2024-06-12 775/week @ 2024-06-19 587/week @ 2024-06-26 574/week @ 2024-07-03 709/week @ 2024-07-10 743/week @ 2024-07-17 758/week @ 2024-07-24 606/week @ 2024-07-31 420/week @ 2024-08-07 331/week @ 2024-08-14

每月2,265次下载
用于 tardis

MIT/Apache

1MB
21K SLoC

为 Poem 提供的 GRPC 支持

示例

use poem::{listener::TcpListener, Server};
use poem_grpc::{Request, Response, RouteGrpc, Status};

poem_grpc::include_proto!("helloworld");

struct GreeterService;

impl Greeter for GreeterService {
    async fn say_hello(
        &self,
        request: Request<HelloRequest>,
    ) -> Result<Response<HelloReply>, Status> {
        let reply = HelloReply {
            message: format!("Hello {}!", request.into_inner().name),
        };
        Ok(Response::new(reply))
    }
}

#[tokio::main]
async fn main() -> Result<(), std::io::Error> {
    let route = RouteGrpc::new().add_service(GreeterServer::new(GreeterService));
    Server::new(TcpListener::bind("0.0.0.0:3000"))
        .run(route)
        .await
}

安全性

此包使用 #![forbid(unsafe_code)] 确保所有内容都使用 100% 安全的 Rust 实现。

MSRV

此包最低支持的 Rust 版本为 1.75.0

贡献

🎈 感谢您的帮助,使项目得以改进!我们非常高兴有您的加入!

许可证

许可协议为以下之一

贡献

除非您明确声明,否则您提交给 Poem 的任何有意贡献都应许可为 Apache 许可证,无需任何附加条款或条件。

依赖项

~21–34MB
~607K SLoC