#reactive #event-driven #messaging #sockets #transport #networking

reactive-messaging

高性能的响应式客户端/服务器通信

11个版本

0.3.0 2024年2月20日
0.2.4 2024年2月18日
0.2.3 2024年1月29日
0.2.2 2023年11月17日
0.1.4 2023年7月16日

#1005异步

Download history 16/week @ 2024-03-30 1/week @ 2024-04-06

每月下载量 164次

无许可证

3.5MB
3.5K SLoC

reactive-messaging

提供基于 Stream 的响应式客户端/服务器通信,专注于高性能——通过套接字、共享内存IPC和其他优点——由 Tokio 异步支持。

该库的独特特性包括

  • 详细的协议建模,利用Rust强大的 enum;
  • 使用响应式 Stream 轻松解耦客户端/服务器逻辑;
  • 客户端和服务器的主网络循环已完全优化;
  • 常数时间(但强大)的配置,以实现最佳性能;
  • 零成本重试策略,通过常数时间配置和 keen-retry 库来丢弃连接与忽略错误;
  • 版本1:目前仅支持文本套接字协议——稍后添加二进制和共享内存IPC;

尝试使用

查看 example/ 中的ping-pong游戏,它展示了如何使用此库的一些良好模式

  • 客户端和服务器之间如何共享ping-pong游戏逻辑;
  • 如何建模协议;
  • 如何处理服务器端会话;
  • 这些组件是如何解耦和可测试的;
  • 一旦处理器完成,创建灵活的服务器和客户端应用程序是多么简单直接。

beta状态

API已稳定——v1.0版本还将添加新功能

  • 允许响应式处理器产生所有可能组合的故障/非故障以及future/非future,以实现响应和不可响应的逻辑处理器(目前,仅允许非故障和非future项的 Stream
  • 更好的文档
  • 清理ping-pong示例代码以及使用此库的推荐模式

依赖关系

~20–28MB
~153K SLoC