SkillAgentSearch skills...

TinyRPC

基于 C++20 协程的 TinyRPC 服务器

Install / Use

/learn @xfarawayx/TinyRPC
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

基于协程的 TinyRPC 服务器

这是一个基于 protobuf 的 RPC 框架,支持在 Linux 环境下进行服务端的服务注册和客户端的远程调用,提供高效的异步通信能力。

主要工作

  • 异步 I/O:利用 C++20 协程和 epoll 实现了基于事件循环的异步 I/O,提升了服务器的性能和响应速度。
  • 定时器机制:设计并实现了基于小根堆的定时器,结合智能指针自动管理超时连接,避免无效连接占用。
  • 缓冲区优化:实现 Buffer 类用于构建读写缓冲区,大幅提升数据处理能力和网络传输效率。
  • RPC 协议实现:基于 protobuf 进行数据的序列化,并设计了简易的自定义协议,实现 RPC 服务通信。

TODO

  • 日志模块:目前大部分日志都使用 fmt 直接输出到控制台,后续尝试实现高效异步日志模块
  • 项目模块化:后续尝试优化项目代码组织形式

环境与依赖

  • 程序运行环境:Ubuntu 24.04 Server
  • 依赖库:Google Protobuf;format 库(仅当前版本)
View on GitHub
GitHub Stars4
CategoryDevelopment
Updated26d ago
Forks0

Languages

C++

Security Score

70/100

Audited on Mar 12, 2026

No findings