defi/nft/lp/dapp/pil代币合约质押挖矿分红系统开发详情源码

v_tg_ch3nguang · · 736 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

流管理组件主要有三个部分组成:发送流池(SendStreamPool)、发送流池管理(SendStreamPoolManager)、接收流管理(ReceiveStreamManager)。   1)发送流池(SendStreamPool):   发送流池负责管理连接所创建的所有发送流,每个连接对应创建一个发送流池,在创建时可初始化一定数量的发送流,当池中空闲发送流数量低于阈值且总发送流数量低于允许的最大值时,发送流池会自动创建一定数量新的发送流。如果发送流在发送过程中发生错误,则通过DropStream方法弃用该发送流。如果连接关闭,则会弃用所有发送流并关闭发送流池。   发送流池接口定义在core/mgr/streammgr.go中mgr.SendStreamPool interface。   2)发送流池管理(SendStreamPoolManager):本文由系统开发对接唯:MrsFu123编辑整理发布。   发送流池管理组件负责管理与其他所有节点建立的所有连接的发送流池。在向某节点发送数据时,会从发送流池管理组件获取负载最低的连接对应的发送流池借一个发送流发送数据。   发送流池管理组件接口定义在core/mgr/streammgr.go中mgr.SendStreamPoolManager interface。   3)接收流管理(ReceiveStreamManager)【详情咨询了解开发搭建可看我昵称,提供需求部署交付上线】   接收流管理组件负责管理与其他所有节点建立的所有连接上接受的所有接收流。如果某个连接关闭,则会关闭该连接的所有接收流。   接收流管理组件接口定义在core/mgr/streammgr.go中mgr.ReceiveStreamManager interface.   内置流管理   Liquid内置流管理实现:   发送流池——simple.sendSteamPool,实现代码在simple/streammgr_sendstreampool.go中。   发送流池管理——simple.sendStreamPoolManager,实现代码在simple/streammgr_sendstreampoolmgr.go中。   接收流管理——simple.receiveStreamManager,实现代码在simple/streammgr_receivestreammgr.go中。   连接状态维护   链接状态维护组件负责监督必要节点(共识节点、种子节点)与本节点链接状态,若必要节点未与本节点建立连接,则会尝试与之建立新连接。接口定义在core/mgr/connmgr.go中mgr.ConnSupervisor interface。   内置连接状态维护   Liquid内置了一种连接状态维护实现——simple.connSupervisor,实现代码在simple/conn_supervisor.go文件中。   simple.connSupervisor保存了必要节点ID及其网络地址列表,每隔5秒会自动检查必要节点与本节点连接状态,若必要节点未与本节点连接,则会启动一个尝试连接任务,每隔一段时间(间隔时间按照斐波那契队列规则递增)尝试与之建立连接。如果有必要节点断开连接,则会立即启动一个尝试连接任务。   应用协议管理&应用协议交换机【详情咨询了解开发搭建可看我昵称,提供需求部署交付上线】   应用协议管理组件记录着本节点所支持的应用协议列表及应用协议对应的消息处理器,应用协议管理组件还记录着与本节点建立连接的节点所支持的应用协议列表。接口定义在core/mgr/protocolmgr.go中mgr.ProtocolManager interface。   应用协议交换机组件负责将本节点支持的协议列表与其他正在连接的节点的协议列表交换,当有新应用协议注册或注销时,将会重新把本节点支持的协议列表推送给已连接的其他节点。应用协议管理组件与应用协议交换机配合使用来同步节点间支持应用协议列表。当收到来自其他节点新注册应用协议或新注销应用协议推送时,会通过回调机制通知已注册的上层应用。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

736 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传