Skip to content

Latest commit

 

History

History
49 lines (41 loc) · 2.3 KB

FUTURE.md

File metadata and controls

49 lines (41 loc) · 2.3 KB

🛸 未来版本的新特性 (Features in future versions)

v0.4.x

  • 重构项目
  • 完善注释
  • 增加服务端监控
  • 增加服务端连接限制数
  • 优化代码
  • 持续完善单元测试
  • 支持 tls 加密传输
  • 优化性能
  • 增加 context 取消的方法
  • 增加 client ip 拒绝策略

v0.3.x

  • 修改协议,去除 version,将 magic/type/body_size 混到一个 int64 中,使用位操作处理数值
  • PacketHandler 加入 context 并默认传递一些数据,比如客户端的地址
  • 提供一个 context 工具包,获取常用数据
  • 给 EventHandler 加入 context 参数,使用 context 传递数据而不是用 source 机制
  • 独立 pool 包的 config 结构
  • 考虑连接池的拒绝策略必要性,只保留阻塞和失败两种
  • 增加连接池 wait get 的请求数量
  • 修复性能压测超过 32KB 就出问题的 bug(io.Reader 的 Read 方法不保证读取满 slice 长度,要使用 io.ReadFull 才行)
  • 增加关闭服务器超时机制,防止连接过多导致关闭阻塞卡死
  • 完善连接池的实现,加入 context 超时(发现在 select 中增加一个 case 会导致性能急剧下降。。。原因是 runtime.selectgo 方法)
  • 完善事件通知机制,主要是事件的设计还有携带额外数据的方式
  • 给 Server 加入令牌桶模式的连接数控制,完善拒绝策略,增加连接数等 State 数据(v0.4.x 处理)
  • 给 Server 增加拦截器机制,调用链形式(v0.4.x 处理)
  • 给 Client 增加拦截器机制,调用链形式(v0.4.x 处理)
  • 增加连接池事件通知机制,包括创建连接、关闭连接等,考虑一些时间数据也可以记录下?(v0.4.x 处理)

v0.2.x

  • 完善文档注释
  • 完善网络通信协议的设计
  • 加入连接池状况查询入口
  • 完善连接池的实现,支持基础数量限制
  • 考虑将 Client 做成接口
  • 加入 Server 的事件回调机制
  • 加入 signal 信号监听,引入平滑下线机制
  • 给 Client 和 Server 加入 option 机制
  • 抽象事件处理器,配置默认事件处理器

v0.2.0-alpha

  • 实现最简单的网络通信功能
  • 加入简单的连接池实现