# Functions
GetPublicKey 从值存储中检索与给定对等节点 ID 关联的公钥 参数: - r: ValueStore 值存储接口 - ctx: context.Context 用于控制操作的上下文 - p: peer.ID 要获取公钥的对等节点 ID
返回值: - ci.PubKey: 获取到的公钥 - error: 如果发生错误,返回错误信息.
KeyForPublicKey 返回用于从值存储中检索公钥的键 参数: - id: peer.ID 对等节点 ID
返回值: - string: 用于检索公钥的键.
PublishQueryEvent 将查询事件发布到与给定context关联的查询事件通道(如果存在) 参数: - ctx: context.Context 包含事件通道的context - ev: *QueryEvent 要发布的查询事件
返回值: - 无.
RegisterForQueryEvents 使用给定的context注册查询事件通道 返回的context可以传递给DHT查询以在返回的通道上接收查询事件 参数: - ctx: context.Context 用于控制事件通道的生命周期
返回值: - context.Context: 包含事件通道的新context - <-chan *QueryEvent: 用于接收查询事件的通道.
SubscribesToQueryEvents 检查context是否订阅了查询事件 如果此函数返回false,则在该context上调用PublishQueryEvent将不执行任何操作 参数: - ctx: context.Context 要检查的context
返回值: - bool: 如果context订阅了查询事件则返回true,否则返回false.
# Constants
AddingPeer 表示正在添加对等节点到查询.
DialingPeer 表示正在与对等节点建立连接.
FinalPeer 表示找到"最近"的对等节点(当前未使用).
PeerResponse 表示收到对等节点的响应.
Provider 表示找到了提供者.
QueryError 表示查询过程中发生错误.
SendingQuery 表示正在向对等节点发送查询.
Value 表示找到了值.
# Variables
ErrNotFound 当路由器找不到请求的记录时返回此错误.
ErrNotSupported 当路由器不支持给定的记录类型或操作时返回此错误.
Expired 是一个选项,用于告诉路由系统在没有更新记录时返回过期记录.
Offline 是一个选项,用于告诉路由系统以离线模式运行(即仅依赖缓存/本地数据).
QueryEventBufferSize 定义事件缓冲区大小.
# Interfaces
ContentDiscovery 定义了使用路由系统检索内容提供者的能力.
ContentProviding 定义了在路由系统中宣告内容位置的能力.
ContentRouting 是一个内容提供者的间接层,用于查找谁拥有什么内容 内容通过 CID(内容标识符)标识,它以面向未来的方式对标识内容的哈希进行编码.
PeerRouting 定义了查找特定对等节点地址信息的方法 可以通过简单的查找表、跟踪服务器甚至 DHT 来实现.
PubKeyFetcher 是一个应该由可以优化公钥检索的值存储实现的接口.
Routing 组合了 dep2p 支持的不同路由类型 可以由单个组件(如 DHT)或多个针对每个任务优化的不同组件来满足.
ValueStore 定义了基本的 Put/Get 接口.
# Type aliases
Option 是一个函数类型,用于修改 Options 结构体的选项 参数: - opts: *Options 需要修改的选项对象
返回值: - error: 如果发生错误,返回错误信息.
QueryEventType 表示查询事件的类型.