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 在 网页编程
每月 2,419 次下载
在 3 crates 中使用
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