使用旧的 Rust 2015
0.6.2
| 2016 年 3 月 30 日 |
0.6.1
| 2016 年 3 月 28 日 |
0.5.1
| 2016 年 3 月 3 日 |
0.4.0
| 2016 年 2 月 10 日 |
0.1.0
|
2016 年 1 月 4 日
|
7 在 #rotor
每月 71 次下载
用于 4 crates
Rotor Stream
基于 MIO 的流抽象。特性
- 基于状态机实现(如通常在 rotor 中)
- 使用 netbuf 进行缓冲,缓冲区具有连续的数据切片(易于解析)
- 输入数据抽象:读取 N 字节,读取到分隔符
- 非常适合请求-回复风格协议
- 与客户端或服务器无关,无论是 TCP 还是 Unix 套接字
- (待办事项) 应该可以基于 SSL 以后使用
rotor 的流抽象
该软件包提供
- 网络套接字的缓冲
- 简单的抽象,如读取 N 字节,读取到 '\n'
- 持久(自动重连)客户端连接
- 服务器端接受连接的抽象
流的假设
- 您通过长度前缀或固定字符串分隔的块来读取数据,而不是逐字节读取
- 每个块适合内存
- 您的数据流不是完全全双工的:虽然您可以同时读取和写入,但在您应用推回(即等待字节被刷新)时,您不能执行读取 [*]
[*] 这与 HTTP 完美匹配,以及大多数双向交互式工作流程(包括基于 WebSocket 的)。但对于某些情况可能难以实现。其中一个案例是当您需要生成一些输出流(您无法缓冲它),并且必须同时解析输入流时。