24 个版本 (4 个破坏性更新)

0.5.4 2024 年 8 月 11 日
0.5.3 2024 年 8 月 7 日
0.4.6 2024 年 8 月 5 日
0.3.1 2024 年 8 月 3 日
0.1.5 2024 年 7 月 30 日

#429网页编程

Download history 805/week @ 2024-07-29 1204/week @ 2024-08-05 410/week @ 2024-08-12

每月 2,419 次下载
3 crates 中使用

Apache-2.0

30KB
473

protosocket-connection

protosocket-connection 提供了一个灵活的、异步的 TCP 连接处理程序。它旨在高效管理双向、消息导向的 TCP 流,支持可定制的序列化和反序列化。

主要功能

  • 低抽象 - 无 http 或更高层次的构造
  • 使用 mio 通过 tokio 实现异步 I/O
  • 通过 ConnectionBindings 自定义消息类型
  • 高效的缓冲区管理和灵活的错误处理

流程图

poll() 函数在 connection.rs 中控制整个连接的生命周期。建议您阅读代码的个别注释以了解流程,但下面是一个序列图以供您开始

sequenceDiagram
    participant P as Poll
    participant IS as Inbound Socket
    participant D as Deserializer
    participant R as Reactor
    participant S as Serializer
    participant OS as Outbound Socket

    P->>IS: Read from inbound socket
    IS->>D: Raw data
    D->>P: Deserialize inbound messages
    P->>R: Submit inbound messages
    R-->>P: Process messages
    P->>S: Prepare and serialize outbound messages
    S->>P: Serialized outbound bytes
    P->>OS: Write to outbound socket

依赖关系

~4–12MB
~129K SLoC