长安链源码分析之网络模块 net-liquid(4)
作者:李
- 2022-10-19 湖南
本文字数:1627 字
阅读完需:约 1 分钟
本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
核心模块分析
core/basic 基础接口包,包含 Starter、Stopper 以及两者组合封装接口 Switcher。
启动、关闭方法
core/blacklist 黑名单接口定义。
// BlackList is a blacklist implementation for net addresses or peer ids .type BlackList interface { // AddPeer append a peer id to blacklist. //添加一个节点id到黑名单 AddPeer(pid peer.ID) // RemovePeer delete a peer id from blacklist. If pid not exist in blacklist, it is a no-op. //黑名单中移除一个节点 RemovePeer(pid peer.ID) // AddIPAndPort append a string contains an ip or a net.Addr string with an ip and a port to blacklist. // The string should be in the following format: // "192.168.1.2:9000" or "192.168.1.2" or "[::1]:9000" or "[::1]" //添加一个ip:port到黑明单 AddIPAndPort(ipAndPort string) // RemoveIPAndPort delete a string contains an ip or a net.Addr string with an ip and a port from blacklist. // If the string not exist in blacklist, it is a no-op. //黑名单中移除一个ip:port RemoveIPAndPort(ipAndPort string) // IsBlack check whether the remote peer id or the remote net address of the connection given exist in blacklist. //检测连接(peer id或者ip:port)是否在黑名单中 IsBlack(conn network.Conn) bool}复制代码
core/broadcast PubSub 消息发布/订阅功能接口定义。
// PubSub provides the functions of broadcasting and subscribing messages to the network.// 提供在网络中广播和发送消息的接口type PubSub interface { // AllMetadataOnlyPeers return a list of peer.ID who communicates with us in a metadata-only link. // 返回只是传递元数据连接的节点id AllMetadataOnlyPeers() []peer.ID // Subscribe register a sub-msg handler for handling the msg listened from the topic given. //定义个消息处理器用例处理监听指定topic的消息 Subscribe(topic string, msgHandler handler.SubMsgHandler) // Unsubscribe cancels listening the topic given and unregister the sub-msg handler registered for this topic. //注销topic的消息处理器 Unsubscribe(topic string) // Publish will push a msg to the network of the topic given. //发送消息到网络指定的topic上 Publish(topic string, msg []byte) // ProtocolID return the protocol.ID of the PubSub service. // The protocol id will be registered in host.RegisterMsgPayloadHandler method. //返回该PubSub service的协议id ProtocolID() protocol.ID // ProtocolMsgHandler return a function which type is handler.MsgPayloadHandler. // It will be registered in host.Host.RegisterMsgPayloadHandler method. //返回协议消息处理器 ProtocolMsgHandler() handler.MsgPayloadHandler // HostNotifiee return an implementation of host.Notifiee interface. // It will be registered in host.Host.Notify method. //返回通知的实现 HostNotifiee() host.Notifiee // AttachHost will set up the host given to PubSub service. //把host关联到该PubSub service AttachHost(h host.Host) error // ID return the local peer id. //返回本地peer 的id ID() peer.ID // Stop the pub-sub service. //停止pub-sub service. Stop() error // SetBlackPeer add a peer id into the blacklist of PubSub. //添加一个节点到PubSub的黑名单中 SetBlackPeer(pid peer.ID) // RemoveBlackPeer remove a peer id from the blacklist of PubSub. //移除一个黑名单的节点 RemoveBlackPeer(pid peer.ID)}
复制代码
划线
评论
复制
发布于: 刚刚阅读数: 3
李
关注
还未添加个人签名 2018-05-04 加入
还未添加个人简介










评论