chenBright opened a new pull request, #2560: URL: https://github.com/apache/brpc/pull/2560
### What problem does this PR solve? Issue Number: resolve #2381 Problem Summary: ### What is changed and the side effects? Changed: 1. 将SocketId的功能抽象到VersionedRefWithId,满足类似SocketId的需求。只要实现OnCreate、OnFailed、OnRecycle接口即可。 2. EventDispatcher支持多种IO类型。在EventDispatcher和具体IO对象之间加入一层EventData对象(包含IO对象id、读事件回调函数、写事件回调函数)。在1的基础上,实现EventDataId,代替EventDispatcher中的SocketId。IO对象创建自己的EventData并持有EventDataId,将其注册到EventDispatcher。当有事件触发时,EventDispatcher通过EventDataId找到EventData,执行对应的回调函数。 Side effects: - Performance effects(性能影响): - Breaking backward compatibility(向后兼容性): --- ### Check List: - Please make sure your changes are compilable(请确保你的更改可以通过编译). - When providing us with a new feature, it is best to add related tests(如果你向我们增加一个新的功能, 请添加相关测试). - Please follow [Contributor Covenant Code of Conduct](../../master/CODE_OF_CONDUCT.md).(请遵循贡献者准则). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org For additional commands, e-mail: dev-h...@brpc.apache.org