asio-grpc 项目推荐

asio-grpc 项目推荐

项目基础介绍和主要编程语言

asio-grpc 是一个开源项目,主要使用 C++ 编程语言。它提供了一个基于 Asio/unified executors 的异步 gRPC 库,允许开发者使用 C++20 协程、Boost.Coroutines、Asio 的栈式协程、回调、发送者/接收者等多种方式来编写异步 gRPC 客户端和服务器。

项目核心功能

  1. Asio ExecutionContext 兼容的 grpc::CompletionQueue 包装器:支持所有 RPC 类型,包括一元、客户端流、服务器流和双向流,并且可以与 Asio 的 CompletionToken 以及发送者/接收者结合使用。
  2. 异步等待 grpc::Alarms:支持通过 cancellation_slots 和 StopTokens 进行取消操作。
  3. 发送者/接收者支持:通过 libunifex 或 stdexec 实现。
  4. 通用 gRPC 客户端和服务器:无需额外的代码生成,可以直接使用 gRPC C++ 插件。
  5. 多种后端支持:包括 Boost.Asio、独立 Asio、libunifex 和 stdexec。

项目最近更新的功能

  1. CMake 函数:新增了易于生成 gRPC 源文件的 CMake 函数。
  2. 示例代码:增加了使用 C++20 协程的“Hello World”客户端示例。
  3. 性能优化:作为 grpc_bench 的一部分,asio-grpc 的性能得到了进一步优化,特别是在“Hello World”一元 RPC 场景下。
  4. 编译器支持:正式支持 GCC 8+、Clang 10+、AppleClang 15+ 和最新版本的 MSVC。
  5. CMake 选项:新增了 ASIO_GRPC_DISABLE_AUTOLINK 选项,用于防止 asio-grpcConfig.cmake 自动查找和设置接口链接库。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值