写点什么

长安链源码分析之网络模块 net-liquid(10)

作者:
  • 2022-10-20
    湖南
  • 本文字数:821 字

    阅读完需:约 1 分钟

本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star


core/network 传输层网络状态机相关接口定义,包含发送流(SendStream)、接收流(ReceiveStream)、双向流(Stream)、连接(Conn)、状态(Stat)、拨号器(Dialer)、监听器(Listener)、网络状态机(network)等以及相关的其他的接口或类型定义。

type Dialer interface {	// Dial try to establish an outbound connection with the remote address.	//拨号建立连接	Dial(ctx context.Context, remoteAddr ma.Multiaddr) (Conn, error)}
复制代码


// Listener provides a way to accept connections established with others.//监听接受连接type Listener interface {	io.Closer	// Listen will run a task that start create listeners with the given	// addresses waiting for accepting inbound connections.	//监听建立连接	Listen(ctx context.Context, addresses ...ma.Multiaddr) error	// ListenAddresses return the list of the local addresses for listeners.	//返回本地的监听地址	ListenAddresses() []ma.Multiaddr}
复制代码


// ConnHandler is a function for handling connections.//连接处理器用于处理连接type ConnHandler func(conn Conn) (bool, error)
// Network is a state machine interface provides a Dialer and a Listener to build a network.type Network interface { Dialer Listener io.Closer // SetNewConnHandler register a ConnHandler to handle the connection established. //设置连接建立时的处理器 SetNewConnHandler(handler ConnHandler) // Disconnect a connection. //断开一个连接 Disconnect(conn Conn) error // Closed return whether network closed. //返回网络是否关闭 Closed() bool // LocalPeerID return the local peer id. //返回本地节点id LocalPeerID() peer.ID}
复制代码


用户头像

关注

还未添加个人签名 2018-05-04 加入

还未添加个人简介

评论

发布
暂无评论
长安链源码分析之网络模块 net-liquid(10)_李_InfoQ写作社区