nets
是一个高性能、轻量级的Go标准库net.Conn封装,每个conn仅启用一个goroutine,资源复用,达到更优的任务效果。
特别说明: 设计灵感来自Gnet(包括本文档 ^_^),不依赖第三方库。
- 非阻塞的异步网络工具库
- 使用sync.Pool管理buff资源,达到复用目的并合理自旋。
- 提供简约而不简单的连接管理
- 优雅处理连接panic,防止程序崩溃(未处理OnBoot/OnShutdown/OnTick, 个人认为在服务启动、停止时进行回收错误没有任何意义并可能照成无法预估的后果。 欢迎讨论)
- 连接事务非阻塞机制,优雅的处理多重关闭事件,杜绝重复关闭。
nets
的源码允许用户在遵循 MIT 开源证书 规则的前提下使用。