Skip to content

【优化】Ukcp增加读、写缓冲相关接口 #44

@tzfun

Description

@tzfun

目前 Ukcp 中缺少一些读、写缓冲区相关的接口,希望作者能考虑一下:

  1. 当前kcp是否可读:ukcp.isReadable()
  2. 当前kcp是否可写:ukcp.isWriteable()

这两个接口对于收发包有严格顺序控制的业务场景很有用,参考 Netty 中的 Channel 相关接口。

例如:目前如果配置了写缓冲控制,当 write 返回 false 后,无法对下一次写行为做出处理,有 isWriteable 接口后就可以知道这次写应不应该加入写队列中,主要应用场景: 重要消息必须写出,非重要消息可以在网络繁忙时丢弃,且发包严格有序。

另外代码 Ukcp#L343 这一行的 TODO 似乎没有完成,请问这个什么时候会优化完呢?目前我只能关闭读缓冲控制来规避。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions