Documentation
¶
Overview ¶
Package p2p 提供P2P网络的基础功能实现。
Index ¶
Constants ¶
View Source
const BaseName = "dec93aa06b30069759af0920b0d0ca31571d75c5"
BaseName 基网名识 注:匹配测试时也会兼容空字符串。 sha1("Hello, P2P..")
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Answerer ¶
type Answerer interface {
// Answer 回答查找请求。
// @param msg 查找依据。
// @return 回应数据。
Answer(msg []byte) ([]byte, error)
}
Answerer 对 Finder 的个体回应。
type Finder ¶
type Finder interface {
// Find 搜寻指定键值的消息。
// @param ctx 上下文控制。
// @param msg 查找依据。
// @return 信息提取通道。
Find(ctx context.Context, msg []byte) <-chan []byte
}
Finder 通用广播查找。 既用于基网的节点搜寻,也用于子网的特定需求实现。 查询依据(msg)的含义由应用自行定义。 注记: 回应消息会适当加密以保护隐私。但这对用户是透明的。
type Network ¶
type Network struct {
// contains filtered or unexported fields
}
Network 网络基础实现 包括P2P网络的基本功能:节点管理、分享、连接更新等。 另外包含一个通用查找功能。
func New ¶
New 创建P2P网络实例。 主要用于子网嵌入复用,子网名识即为子网应用的名识, 在节点连接时,对端必须提供同样的名识才行。 注:基网由另外的方法(Open)创建。 @param name 子网名识。 @param answerer 查找回应接口实现。 @return P2P网络实例。
func Open ¶
Open 打开基网。 通用查找实现为自我识别(名识判断)。 参考: - 基网纯节点仅完成自我识别即可,没有其它功能。 - 应用节点传递自己的识别实现,即连入基网成为基网兼节点。 @param owner 自我识别实现。 @return 基网对象。
Click to show internal directories.
Click to hide internal directories.