#tcp-socket #tcp #sockets

tcp_typed

平台 TCP 套接字 API 的包装器,利用类型系统确保正确使用。很容易不小心误用伯克利套接字或类似 API,导致 ECONNRESET/EPIPE 等错误,关闭时数据丢失,以及由于边缘触发事件集合不完整而可能出现的挂起。此库旨在使非不安全代码中不可能误用。

5 个版本

0.1.4 2019 年 8 月 22 日
0.1.3 2019 年 8 月 12 日
0.1.2 2019 年 7 月 24 日
0.1.1 2018 年 10 月 27 日
0.1.0 2018 年 8 月 3 日

#25#socket

Download history 43/week @ 2024-04-01 10/week @ 2024-04-08 14/week @ 2024-04-15 21/week @ 2024-04-22 14/week @ 2024-04-29 10/week @ 2024-05-06 18/week @ 2024-05-13 13/week @ 2024-05-20 19/week @ 2024-05-27 16/week @ 2024-06-03 13/week @ 2024-06-10 10/week @ 2024-06-17 18/week @ 2024-06-24 17/week @ 2024-07-01 4/week @ 2024-07-08 14/week @ 2024-07-15

每月 57 次下载
3 个 (2 直接) 包中使用

MIT/Apache

58KB
2K SLoC

tcp_typed

Crates.io MIT / Apache 2.0 licensed Build Status

文档

平台 TCP 套接字 API 的包装器,利用类型系统确保正确使用。

很容易不小心误用伯克利套接字或类似 API,导致 ECONNRESET/EPIPE 等错误,关闭时数据丢失,以及由于边缘触发通知的事件集合不完整而可能出现的挂起。

此库旨在使非不安全代码中不可能误用。

如果您曾经看到连接重置 / ECONNRESET,EPIPE,关闭时数据丢失或恐慌,那么这是此库中的一个错误!请尽可能提供详细信息提交问题。

它设计为与 Notifier 特性的实现者一起使用——例如 notifier。只要满足 Notifier 协议,此库将在每个边缘触发通知时收集所有相关事件(连接、数据输入、可写入的数据、远程关闭、已确认的字节、连接错误)。

注意

目前不支持 Windows。

许可证

根据以下任一项许可

任选其一。

除非您明确声明,否则您有意提交给作品以包括在内的任何贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,不附加任何其他条款或条件。

依赖关系

~3.5MB
~68K SLoC