Controller 启动了整个 P2P 服务,连接叫 Connection,外部节点叫 Peer.
建立连接、监听、传递消息由标准库 net 提供的方法实现,我们只关心业务层。
架构设计:
- 与外部网络的通信(标准库实现)
- 网络模块的自我管理(节点管理)
- 与系统其它模块的协作(事件处理)
控制器 & 连接
控制器(总开关)
连接池(网络相关)
连接处理(业务相关)
一部分和网络相关,另一部分和业务相关。
它的出口,全部在软件启动的时候被调用。分类有:
服务相关,广播区块、广播交易,节点信息、连接相关,黑名单相关。