回调类型定义(callbacks.h)
第 4 课:回调类型定义(callbacks.h) 对应源文件: trantor/net/callbacks.h — 所有网络回调 typedef trantor/net/TcpConnection.h — 回调的注册接口与存储位置(辅助理解) 一、为什么要先读这个文件? callbacks.h 只有 46 行,却是后续所有网络模块的词汇表。 从第 5 课开始,你会在 EventLoop、TcpServer、TcpClient 里频繁看到这些类型名。如果不先建立印象,每次碰到 RecvMessageCallback 都要回头查,打断阅读节奏。 先把这张表背熟,后面读代码会顺畅得多。 二、完整回调类型表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // callbacks.h 全文(去掉注释) using TimerCallback = std::function<void()>; using TcpConnectionPtr = std::shared_ptr<TcpConnection>; using RecvMessageCallback = std::function<void(const TcpConnectionPtr &, MsgBuffer *)>; using ConnectionErrorCallback = std::function<void()>; using ConnectionCallback = std::function<void(const TcpConnectionPtr &)>; using CloseCallback = std::function<void(const TcpConnectionPtr &)>; using WriteCompleteCallback = std::function<void(const TcpConnectionPtr &)>; using HighWaterMarkCallback = std::function<void(const TcpConnectionPtr &, const size_t)>; using SSLErrorCallback = std::function<void(SSLError)>; using SockOptCallback = std::function<void(int)>; 三、逐一解析 3.1 TcpConnectionPtr — 连接的生命线 1 using TcpConnectionPtr = std::shared_ptr<TcpConnection>; 这不是回调,是基础类型,但几乎所有回调都把它作为第一个参数。 ...