Categorygithub.com/dep2p/dsn
modulepackage
0.0.11
Repository: https://github.com/dep2p/dsn.git
Documentation: pkg.go.dev

# README

DSN

DSN

# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# Functions

Debug 记录调试级别的日志 参数: - args: 日志参数.
Debugf 记录格式化的调试级别日志 参数: - format: 格式化字符串 - args: 格式化参数.
DefaultGossipSubParams 返回默认的 gossipsub 参数。 返回值: - GossipSubParams: gossipsub 参数.
DefaultGossipSubRouter 返回一个带有默认参数的新的 GossipSubRouter。 参数: - h: 主机 返回值: - *GossipSubRouter: GossipSubRouter 对象.
DefaultMsgIdFn 返回传入消息的唯一 ID 参数: - pmsg: 传入的消息 返回值: - string: 消息的唯一 ID.
DefaultOptions 返回一个带有默认配置的 Options 对象 返回值: - *Options: 包含默认配置的 Options 对象.
DefaultPeerFilter 接受所有主题的所有 peers 参数: - pid: peer ID - topic: 主题 返回值: - bool: 是否接受该 peer.
DefaultPeerGaterParams 创建使用默认值的 PeerGaterParams 结构 返回值: - *PeerGaterParams: 返回使用默认值的参数结构.
Error 记录错误级别的日志 参数: - args: 日志参数.
Errorf 记录格式化的错误级别日志 参数: - format: 格式化字符串 - args: 格式化参数.
Fatal 记录致命级别的日志 参数: - args: 日志参数.
Fatalf 记录格式化的致命级别日志 参数: - format: 格式化字符串 - args: 格式化参数.
FilterSubscriptions 过滤并去重订阅列表。 filter 应返回 true 如果一个主题是感兴趣的。 参数: - subs: 包含订阅通知的 RPC_SubOpts 列表 - filter: 用于确定是否感兴趣的过滤函数 返回值: - []*pb.RPC_SubOpts: 过滤后的订阅列表.
GetLevel 获取当前的日志级别.
GossipSubDefaultFeatures 是默认 gossipsub 协议的功能测试函数 参数: - feat: 要测试的功能 - proto: 协议ID 返回值: - bool: 如果协议支持该功能,则返回 true.
Info 记录信息级别的日志 参数: - args: 日志参数.
Infof 记录格式化的信息级别日志 参数: - format: 格式化字符串 - args: 格式化参数.
Logf 记录格式化的指定级别日志.
LogMessage 记录指定级别的日志.
MinTopicSize 返回一个函数,该函数根据主题大小检查路由器是否准备好发布。 参数: - size: 建议的主题大小(对等节点数) 返回值: - RouterReady: 一个函数类型,接收路由器和主题名称,返回布尔值和错误.
NewAllowlistSubscriptionFilter 创建一个订阅过滤器,该过滤器仅允许显式指定的主题用于本地订阅和传入对等订阅。 参数: - topics: 允许订阅的主题列表 返回值: - SubscriptionFilter: 一个新的允许列表订阅过滤器.
NewBasicSeqnoValidator 构造一个使用给定 PeerMetadataStore 的 BasicSeqnoValidator。 参数: - meta: 用于存储对等节点元数据的接口实例 返回值: - ValidatorEx: 返回一个扩展验证器函数.
NewDSN 创建并返回一个新的 DSN 实例 参数: - ctx: 上下文,用于控制DSN实例的生命周期 - host: libp2p主机,代表当前节点 - opts: 节点选项,用于自定义DSN的行为 返回: - *DSN: 新创建的DSN实例 - error: 如果创建过程中出现错误,返回相应的错误信息.
NewFloodSub 返回一个使用FloodSubRouter的新PubSub对象 参数: - ctx: 上下文 - h: 主机 - opts: 选项 返回值: - *PubSub: 创建的PubSub实例 - error: 如果创建失败,返回错误.
NewFloodsubWithProtocols 返回一个新的启用floodsub的PubSub对象,使用指定的协议 参数: - ctx: 上下文 - h: 主机 - ps: 协议列表 - opts: 选项 返回值: - *PubSub: 创建的PubSub实例 - error: 如果创建失败,返回错误.
NewGossipSub 返回一个新的使用默认 GossipSubRouter 作为路由器的 PubSub 对象。 参数: - ctx: 上下文 - h: 主机 - opts: 选项 返回值: - *PubSub: PubSub 对象 - error: 错误信息.
NewGossipSubWithRouter 返回一个使用给定路由器的新的 PubSub 对象。 参数: - ctx: 上下文 - h: 主机 - rt: 路由器 - opts: 选项 返回值: - *PubSub: PubSub 对象 - error: 错误信息.
NewJSONTracer 创建一个新的 JSONTracer,将追踪信息写入文件。 参数: - file: 文件路径 返回值: - *JSONTracer: JSONTracer 对象 - error: 错误信息.
NewMapBlacklist 创建一个新的 MapBlacklist 实例.
NewMessageCache 创建一个滑动窗口缓存,记住消息长达 `history` 个插槽。 当查询要通告的消息时,缓存仅返回最后 `gossip` 个插槽中的消息。 `gossip` 参数必须小于或等于 `history`,否则该函数会引发 panic。 在通过 IHAVE gossip 通告消息和通过 IWANT 命令获取消息之间的反应时间之间存在松弛。.
NewNodeStatusTracker 创建一个新的 NodeStatusTracker 实例 参数: - h: libp2p主机 - defaultCheckInterval: 默认检查间隔 - offlineThreshold: 离线阈值 - pingTimeout: ping超时时间 返回: - *NodeStatusTracker: 新创建的NodeStatusTracker实例.
NewPBTracer 创建一个新的 PBTracer,将追踪信息写入文件。 参数: - file: 文件路径 返回值: - *PBTracer: PBTracer 对象 - error: 错误信息.
NewPeerGaterParams 创建新的 PeerGaterParams 结构,使用指定的阈值和衰减参数以及默认值 参数: - threshold: 门控阈值 - globalDecay: 全局衰减参数 - sourceDecay: 来源衰减参数 返回值: - *PeerGaterParams: 返回新创建的参数结构.
NewPubSub 返回一个新的 PubSub 管理对象。 参数: - ctx: 用于控制 PubSub 生命周期的上下文。 - h: libp2p 主机。 - rt: PubSub 路由器。 - opts: 可选配置项。 返回值: - *PubSub: 新的 PubSub 对象。 - error: 如果有错误发生,返回错误。.
NewRandomSub 返回一个使用 RandomSubRouter 作为路由器的新 PubSub 对象 参数: - ctx: 上下文 - h: 主机 - size: 网络大小 - opts: 选项 返回值: - *PubSub: PubSub 对象 - error: 错误.
NewRegexpSubscriptionFilter 创建一个订阅过滤器,该过滤器仅允许与正则表达式匹配的主题用于本地订阅和传入对等订阅。 参数: - rx: 用于匹配主题的正则表达式 返回值: - SubscriptionFilter: 一个新的正则表达式订阅过滤器.
NewRemoteTracer 构建一个 RemoteTracer,将追踪信息发送到由 pi 标识的对等节点。 参数: - ctx: 上下文,用于控制生命周期和取消操作 - host: 本地主机,表示当前节点 - pi: 远程对等节点的地址信息,包括节点ID和地址 返回值: - *RemoteTracer: 新创建的 RemoteTracer 对象 - error: 如果发生错误,返回错误信息.
NewTimeCachedBlacklist 创建一个带有指定过期时间的新 TimeCachedBlacklist 实例 参数: - expiry: 黑名单条目的过期时间 返回值: - Blacklist: 初始化后的 TimeCachedBlacklist 实例 - error: 如果有错误发生则返回错误.
OpenJSONTracer 创建一个新的 JSONTracer,可以显式控制文件打开的标志和权限。 参数: - file: 文件路径 - flags: 文件打开标志 - perm: 文件权限 返回值: - *JSONTracer: JSONTracer 对象 - error: 错误信息.
OpenPBTracer 创建一个新的 PBTracer,可以显式控制文件打开的标志和权限。 参数: - file: 文件路径 - flags: 文件打开标志 - perm: 文件权限 返回值: - *PBTracer: PBTracer 对象 - error: 错误信息.
Panic 记录 panic 级别的日志 参数: - args: 日志参数.
Panicf 记录格式化的 panic 级别日志 参数: - format: 格式化字符串 - args: 格式化参数.
ParseLevel 解析字符串表示的日志级别.
Print 记录信息级别的日志 参数: - args: 日志参数.
Printf 记录格式化的信息级别日志 参数: - format: 格式化字符串 - args: 格式化参数.
Println 记录信息级别的日志,并在末尾添加换行符 参数: - args: 日志参数.
ScoreParameterDecay 计算参数的衰减因子,假设 DecayInterval 为 1s 并且值在低于 0.01 时衰减到零 参数: - decay: 衰减时间 返回值: - float64: 衰减因子.
ScoreParameterDecayWithBase 使用基准 DecayInterval 计算参数的衰减因子 参数: - decay: 衰减时间 - base: 基准衰减间隔 - decayToZero: 衰减到零值 返回值: - float64: 衰减因子.
SetLevel 设置日志级别 参数: - level: 日志级别.
SetOutput 设置日志输出 参数: - output: 输出文件.
SetReportCaller 设置是否在日志中报告调用者信息.
Trace 记录跟踪级别的日志.
Tracef 记录格式化的跟踪级别日志.
Warn 记录警告级别的日志 参数: - args: 日志参数.
Warnf 记录格式化的警告级别日志 参数: - format: 格式化字符串 - args: 格式化参数.
WithAppSpecificRpcInspector 设置一个钩子,用于在处理传入的 RPC 之前检查它们。 检查器在处理已接受的 RPC 之前调用。如果检查器的错误为 nil,则按常规处理 RPC。否则,RPC 将被丢弃。 参数: - inspector: 检查函数。 返回值: - Option: 配置选项。.
WithBlacklist 提供黑名单的实现;默认是 MapBlacklist。 参数: - b: 黑名单实现。 返回值: - Option: 配置选项。.
WithBufferSize 是一个订阅选项,用于自定义订阅输出缓冲区的大小。 默认长度为 32,但可以配置以避免消费者读取速度不够快时丢失消息。.
WithDefaultValidator 添加一个默认验证器,适用于所有主题 参数: - val: interface{} 验证器 - opts: ...ValidatorOpt 验证器选项 返回值: - Option 配置选项.
WithDirectConnectTicks 是一个 gossipsub 路由器选项,用于设置尝试重新连接当前未连接的直接对等节点的心跳滴答次数。 参数: - t: uint64 类型,表示心跳滴答次数。 返回值: - Option: 返回一个 Option 类型的函数,用于配置 gossipsub 路由器。.
WithDirectPeers 是一个 gossipsub 路由器选项,用于指定具有直接对等关系的对等节点。 参数: - pis: []peer.AddrInfo 类型,表示对等节点的信息列表。 返回值: - Option: 返回一个 Option 类型的函数,用于配置 gossipsub 路由器。.
WithDiscoverConnector 添加一个自定义连接器,该连接器处理发现子系统如何连接到对等节点 参数: - connFactory: 退避连接器工厂,用于创建一个自定义的连接器 返回值: - DiscoverOpt: 配置发现选项的函数,用于设置发现配置.
WithDiscovery 提供用于引导和提供 peers 到 PubSub 的发现机制。 参数: - d: 发现机制。 - opts: 可选的发现配置。 返回值: - Option: 配置选项。.
WithDiscoveryOpts 传递 libp2p 发现选项到 PubSub 发现子系统 参数: - opts: 发现选项,这些选项将被应用到发现子系统中 返回值: - DiscoverOpt: 配置发现选项的函数,用于设置发现配置.
WithError 创建一个包含错误信息的日志条目.
WithEventTracer 提供 pubsub 系统的事件追踪器。 参数: - tracer: 事件追踪器。 返回值: - Option: 配置选项。.
WithField 创建一个带有单个字段的日志条目 参数: - key: 字段键 - value: 字段值 返回值: - *logrus.Entry: 带有单个字段的日志条目.
WithFields 创建一个带有字段的日志条目 参数: - fields: 日志字段 返回值: - *logrus.Entry: 带有字段的日志条目.
WithFloodPublish 是一个 gossipsub 路由器选项,用于启用洪水发布。 参数: - floodPublish: bool 类型,表示是否启用洪水发布。 返回值: - Option: 返回一个 Option 类型的函数,用于配置 gossipsub 路由器。.
WithGossipSubParams 是一个 gossipsub 路由器选项,允许在实例化 gossipsub 路由器时设置自定义配置。 参数: - cfg: GossipSubParams 类型,表示 gossipsub 参数配置。 返回值: - Option: 返回一个 Option 类型的函数,用于配置 gossipsub 路由器。.
WithGossipSubProtocols 是一个 gossipsub 路由器选项,用于配置自定义协议列表和功能测试函数 参数: - protos: 协议列表 - feature: 功能测试函数 返回值: - Option: 配置 gossipsub 协议和功能的选项函数.
WithLocalPublication 返回一个发布选项,仅通知进程内的订阅者。 它阻止消息发布到网状对等节点。 参数: - local: bool 类型的标志,指示是否仅在本地发布消息。 返回值: - PubOpt: 返回一个发布选项函数,用于设置 PublishOptions 中的 local 字段。.
WithMaxMessageSize 设置 pubsub 消息的全局最大消息大小。默认值是 1MiB (DefaultMaxMessageSize)。 警告 #1:确保更改 floodsub (FloodSubID) 和 gossipsub (GossipSubID) 的默认协议前缀。 警告 #2:减少默认的最大消息限制是可以的,但要确保您的应用程序消息不会超过新的限制。 参数: - maxMessageSize: 最大消息大小。 返回值: - Option: 配置选项。.
WithMessageAuthor 设置出站消息的作者为给定的 peer ID(默认为主机的 ID)。 如果启用了消息签名,则私钥必须在主机的 peerstore 中可用。 参数: - author: 消息作者的 ID。 返回值: - Option: 配置选项。.
WithMessageIdFn 是一个选项,用于自定义为 pubsub 消息计算消息 ID 的方式。 默认的 ID 函数是 DefaultMsgIdFn(连接源和序列号),但它可以自定义为消息的哈希值。 参数: - fn: 自定义的消息 ID 函数。 返回值: - Option: 配置选项。.
WithMessageMetadata 设置消息的元信息。 参数: - messageID: string 类型,表示消息ID。 - msgType: MessageType 类型,表示消息的类型(请求或响应)。 返回值: - PubOpt: 返回一个发布选项函数,用于设置 PublishOptions 中的消息元信息。.
WithMessageSignaturePolicy 设置生产和验证消息签名的操作模式。 参数: - policy: 签名策略。 返回值: - Option: 配置选项。.
WithMessageSigning 启用或禁用消息签名(默认启用)。 不推荐在没有消息签名或没有验证的情况下使用。 参数: - enabled: 是否启用消息签名。 返回值: - Option: 配置选项。.
WithNoAuthor 省略消息的作者和序列号数据,并禁用签名的使用。 不推荐与默认的消息 ID 函数一起使用,请参阅 WithMessageIdFn。 返回值: - Option: 配置选项。.
WithPeerExchange 是一个 gossipsub 路由器选项,用于在 PRUNE 上启用对等节点交换。 参数: - doPX: bool 类型,表示是否启用对等节点交换。 返回值: - Option: 返回一个 Option 类型的函数,用于配置 gossipsub 路由器。.
WithPeerFilter 是一个选项,用于设置 pubsub peers 的过滤器。 默认的 peer 过滤器是 DefaultPeerFilter(总是返回 true),但它可以自定义为任何自定义实现。 参数: - filter: 自定义的 peer 过滤器。 返回值: - Option: 配置选项。.
WithPeerGater 是一个 gossipsub 路由器选项,用于启用反应性验证队列管理 参数: - params: PeerGater 的参数 返回值: - Option: PubSub 的选项函数.
WithPeerOutboundQueueSize 是一个选项,用于设置对 peer 的出站消息缓冲区大小。 当出站队列已满时,我们开始丢弃消息。 参数: - size: 出站消息队列的大小。 返回值: - Option: 配置选项。.
WithPeerScore 是一个 gossipsub 路由器选项,用于启用对等节点评分。 参数: - params: *PeerScoreParams 类型,表示对等节点评分参数。 - thresholds: *PeerScoreThresholds 类型,表示对等节点评分阈值。 返回值: - Option: 返回一个 Option 类型的函数,用于配置 gossipsub 路由器。.
WithPeerScoreInspect 是一个 gossipsub 路由器选项,用于启用对等节点分数调试。 启用此选项后,将定期调用提供的函数,以便应用程序检查或转储已连接对等节点的分数。 提供的函数可以具有以下两种签名之一: - PeerScoreInspectFn,接受对等节点 ID 到分数的映射。 - ExtendedPeerScoreInspectFn,接受对等节点 ID 到 PeerScoreSnapshots 的映射, 并允许检查单个分数组件以调试对等节点评分。 此选项必须在 WithPeerScore 选项之后传递。.
WithProtocolMatchFn 设置用于协议选择的自定义匹配函数。 参数: - m: 协议匹配函数。 返回值: - Option: 配置选项。.
WithRawTracer 添加一个原始追踪器到 pubsub 系统。 可以使用多次调用选项添加多个追踪器。 参数: - tracer: 原始追踪器。 返回值: - Option: 配置选项。.
WithReadiness 返回一个发布选项,仅在路由器准备好时发布。 此选项仅在 PubSub 也使用 WithDiscovery 时有用。 参数: - ready: RouterReady 类型的回调函数,当路由器准备好时被调用。 返回值: - PubOpt: 返回一个发布选项函数,用于设置 PublishOptions 中的 ready 字段。.
WithRetry 设置发送消息的重试次数 参数: - retries: int 表示重试次数 返回值: - Option: 配置选项。.
WithSecretKeyAndPeerId 返回一个发布选项,用于提供自定义私钥及其对应的对等节点 ID。 这个选项在我们希望从网络中的"虚拟"不可连接的对等节点发送消息时非常有用。 参数: - key: crypto.PrivKey 类型,自定义私钥。 - pid: peer.ID 类型,对应的对等节点 ID。 返回值: - PubOpt: 返回一个发布选项函数,用于设置 PublishOptions 中的 customKey 字段。.
WithSeenMessagesStrategy 配置已看到消息缓存使用的查找/清理策略。 参数: - strategy: 策略。 返回值: - Option: 配置选项。.
WithSeenMessagesTTL 配置之前看到的消息 ID 可以被遗忘的时间。 参数: - ttl: 生存时间。 返回值: - Option: 配置选项。.
WithSetD 设置 GossipSub 主题网格的理想度数 参数: - d: 要设置的理想度数 返回值: - NodeOption: 返回一个配置函数.
WithSetDirectPeers 设置直连对等节点列表 参数: - peers: 要设置的直连对等节点列表 返回值: - NodeOption: 返回一个配置函数.
WithSetDlo 设置 GossipSub 主题网格中保持的最少节点数 参数: - dlo: 要设置的最少节点数 返回值: - NodeOption: 返回一个配置函数.
WithSetFollowupTime 设置跟随时间 参数: - t: 要设置的跟随时间 返回值: - NodeOption: 返回一个配置函数.
WithSetGossipFactor 设置Gossip因子 参数: - f: 要设置的Gossip因子 返回值: - NodeOption: 返回一个配置函数.
WithSetHeartbeatInterval 设置心跳间隔 参数: - interval: 要设置的心跳间隔 返回值: - NodeOption: 返回一个配置函数.
WithSetLoadConfig 设置是否加载配置选项.
WithSetMaxMessageSize 设置最大消息大小 参数: - size: 要设置的最大消息大小 返回值: - NodeOption: 返回一个配置函数.
WithSetMaxPendingConns 设置最大待处理连接数 参数: - n: 要设置的最大待处理连接数 返回值: - NodeOption: 返回一个配置函数.
WithSetMaxTransmissionSize 设置最大传输大小 参数: - size: 要设置的最大传输大小 返回值: - NodeOption: 返回一个配置函数.
WithSetPubSubMode 设置发布订阅模式.
WithSetSignMessages 设置是否签名消息 参数: - sign: 是否签名消息 返回值: - NodeOption: 返回一个配置函数.
WithSetValidateMessages 设置是否验证消息 参数: - validate: 是否验证消息 返回值: - NodeOption: 返回一个配置函数.
WithStrictSignatureVerification 是一个选项,用于启用或禁用严格的消息签名验证。 当启用时(这是默认设置),未签名的消息将被丢弃。 不推荐在没有消息签名或没有验证的情况下使用。 参数: - required: 是否要求严格签名验证。 返回值: - Option: 配置选项。.
WithSubscriptionFilter 是一个 pubsub 选项,用于指定感兴趣主题的订阅过滤器。 参数: - subFilter: 要应用的 SubscriptionFilter 返回值: - Option: 一个设置 SubscriptionFilter 的选项.
WithTargetMap 设置目标节点列表。 参数: - targets: 目标节点的列表,类型为 []peer.ID。 返回值: - PubOpt: 返回一个发布选项函数,用于设置 PublishOptions 中的 targetMap 字段。.
WithTimeout 设置等待回复的超时时间 参数: - d: time.Duration 表示超时时间 返回值: - Option: 配置选项。.
WithTopicMessageIdFn 设置自定义 MsgIdFunction 用于生成消息 ID 参数: - msgId: 消息 ID 函数 返回值: - TopicOpt: 主题选项函数.
WithValidateQueueSize 设置验证队列的大小,默认大小为 32 参数: - n: int 队列大小 返回值: - Option 配置选项.
WithValidateThrottle 设置活动验证 goroutine 的上限,默认值为 8192 参数: - n: int 上限值 返回值: - Option 配置选项.
WithValidateWorkers 设置同步验证工作线程的数量,默认值为 CPU 数量 参数: - n: int 线程数量 返回值: - Option 配置选项.
WithValidatorConcurrency 是一个选项,用于设置主题验证器的节流大小,默认值为 1024 参数: - n: int 节流大小 返回值: - ValidatorOpt 验证器选项.
WithValidatorInline 是一个选项,用于设置验证器是否内联执行 参数: - inline: bool 是否内联执行 返回值: - ValidatorOpt 验证器选项.
WithValidatorTimeout 是一个选项,用于设置异步主题验证器的超时时间,默认无超时 参数: - timeout: time.Duration 超时时间 返回值: - ValidatorOpt 验证器选项.
WrapLimitSubscriptionFilter 包装一个订阅过滤器,在 RPC 消息中允许的订阅数量有硬限制。 参数: - filter: 内部使用的 SubscriptionFilter - limit: 订阅数量限制 返回值: - SubscriptionFilter: 包装后的订阅过滤器.

# Constants

AcceptAll 表示接受传入 RPC 的全部内容.
AcceptControl 表示仅接受传入 RPC 的控制消息.
AcceptNone 表示丢弃传入的 RPC.
清理退避信息的间隔时间.
退避时间的倍增因子.
默认的衰减间隔.
默认的衰减到零值.
DefaultMaxMessageSize 定义默认的最大消息大小为1MB.
默认的pubsub协议版本.
FloodSub 类型.
FloodSub协议ID.
FloodSub主题搜索大小.
GossipSub 类型.
协议支持基本的 GossipSub 网格 -- 与 gossipsub-v1.0 兼容.
协议支持在修剪时的对等节点交换 -- 与 gossipsub-v1.1 兼容.
GossipSubID_v10 是 GossipSub 协议的版本 1.0.0 的协议 ID。 它与 GossipSubID_v11 一起发布以实现向后兼容。.
GossipSubID_v11 是 GossipSub 协议的版本 1.1.0 的协议 ID。 参见规范了解 v1.1.0 与 v1.0.0 的详细比较: https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md.
LaxNoSign 不生成签名,并仅在存在签名时验证传入的签名 已弃用:建议严格启用或严格禁用签名。.
LaxSign 生成签名,并仅在存在签名时验证传入的签名 已弃用:建议严格启用或严格禁用签名。.
最大退避尝试次数.
最大退避延迟时间.
最大退避抖动系数.
最小退避延迟时间.
节点离线.
节点在线.
对等节点加入事件.
对等节点离开事件.
RandomSub 类型.
RandomSubID 是 RandomSub 路由器使用的协议 ID.
被列入黑名单的来源.
被列入黑名单的对等节点.
无效的签名.
缺少签名.
自己发起的消息.
意外的身份验证信息.
意外的签名.
验证失败.
验证被忽略.
验证队列已满.
验证被限制.
RemoteTracerProtoID 是远程追踪协议的 ID.
SignPrefix 是签名前缀常量.
StrictNoSign 不生成签名,并丢弃和惩罚携带签名的传入消息.
StrictSign 生成签名并期望验证传入的签名.
节点可疑.
退避信息的存活时间.
ValidationAccept 表示消息验证通过,应该被接受并交付给应用程序并转发到网络.
ValidationIgnore 表示消息应该被忽略,不交付给应用程序或转发到网络,但与 ValidationReject 不同,转发该消息的对等节点不会被惩罚.
ValidationReject 表示消息验证失败,不应该交付给应用程序或转发到网络,并且转发该消息的对等节点应该被惩罚.

# Variables

重复消息的权重.
全局衰减参数.
忽略消息的权重.
安静期的默认时间.
拒绝消息的权重.
保留统计数据的默认时间.
来源衰减参数.
门控阈值.
DiscoveryPollInitialDelay 是发现系统在首次启动后等待的时间.
DiscoveryPollInterval 是发现系统在检查是否需要更多对等点之间等待的大致时间.
ErrEmptyPeerID 表示如果提供了一个空的对等节点 ID,将返回此错误。.
ErrNilSignKey 表示如果提供了一个空的私钥,将返回此错误。.
ErrSubscriptionCancelled 当订阅被取消后调用 Next() 时可能返回的错误.
ErrTooManySubscriptions 可能由 SubscriptionFilter 返回,以表示订阅过多无法处理的错误.
ErrTopicClosed 表示如果在主题关闭后使用 Topic,将返回此错误。.
ConnectionTimeout 控制连接尝试的超时时间。.
Connectors 控制通过 PX 获取的对等节点的活动连接尝试数量。.
GossipSubConnTagBumpMessageDelivery 表示每次一个对等节点首次在一个主题中传递消息时,添加到连接管理器标签中的量。 每次对等节点首次在一个主题中传递消息时,我们将此标签增加该量,直到最大值 GossipSubConnTagMessageDeliveryCap。 注意,传递标签会随着时间衰减,在每个 GossipSubConnTagDecayInterval 期间减少 GossipSubConnTagDecayAmount。.
GossipSubConnTagDecayAmount 是在每个衰减间隔期间从衰减标签值中减去的量。.
GossipSubConnTagDecayInterval 是连接管理器标签衰减的时间间隔。.
GossipSubConnTagMessageDeliveryCap 是用于跟踪消息传递的连接管理器标签的最大值。.
D 设置 GossipSub 主题网格的最佳度。.
GossipSubDefaultProtocols 是默认的 gossipsub 路由器协议列表.
Dhi 设置我们在 GossipSub 主题网格中保持的对等节点的上限。.
DirectConnectInitialDelay 是在打开与直接对等节点的连接之前的初始延迟。.
DirectConnectTicks 是尝试重新连接当前未连接的直接对等节点的心跳滴答次数。.
Dlazy 影响我们在每个心跳期间将 gossip 发送到的对等节点数量。.
Dlo 设置我们在 GossipSub 主题网格中保持的对等节点的下限。.
Dout 设置在主题网格中维护的出站连接的配额。.
Dscore 影响在由于过度订阅而修剪网格时如何选择对等节点。.
FanoutTTL 控制我们跟踪 fanout 状态的时间。.
GossipFactor 影响我们在每个心跳期间将 gossip 发送到的对等节点数量。.
GossipRetransmission 控制在开始忽略对等节点之前允许对等节点通过 IWANT gossip 请求相同消息 ID 的次数。.
GraftFloodThreshold 是在最后一次修剪后经过的时间内 GRAFT 提供的额外分数惩罚。.
HeartbeatInitialDelay 是路由器初始化后心跳计时器开始之前的短暂延迟。.
HeartbeatInterval 控制心跳之间的时间。.
HistoryGossip 控制我们将在 IHAVE gossip 消息中广告的缓存消息 ID 的数量。.
HistoryLength 控制用于 gossip 的消息缓存的大小。.
IWantFollowupTime 是在 IHAVE 广告之后通过 IWANT 请求消息的等待时间。.
MaxIHaveLength 是包含在 IHAVE 消息中的最大消息数量。.
MaxIHaveMessages 是在心跳期间从对等节点接受的最大 IHAVE 消息数量。.
MaxPendingConnections 设置通过 px 尝试的对等节点的最大挂起连接数。.
OpportunisticGraftPeers 是机会性移植的对等节点数量。.
OpportunisticGraftTicks 是尝试通过机会性移植改善网格的心跳滴答次数。.
PruneBackoff 控制修剪对等节点的回退时间。.
PrunePeers 控制修剪对等节点交换中的对等节点数量。.
UnsubscribeBackoff 控制取消订阅主题时使用的回退时间。.
MinTraceBatchSize 设置最小批处理大小,默认为 16。.
RandomSubD 是 RandomSub 路由器使用的最小对等节点数.
TimeCacheDuration 指定消息ID会被记住多长时间.
TimeCacheStrategy 指定 seen messages cache 的查找/清理策略.
TraceBufferSize 设置追踪缓冲区大小,默认为 64K。.

# Structs

BasicSeqnoValidator 是一个基本验证器,可用作默认验证器,忽略超出已见缓存窗口的重放消息。 验证器使用消息序号作为对等节点特定的 nonce 来决定是否应传播消息,比较对等节点元数据存储中的最大 nonce。 这有助于确保无论已见缓存跨度和网络直径如何,网络中都不会存在无限传播的消息。 它要求 pubsub 实例化时具有严格的消息签名策略,并且序号未被禁用,即不支持匿名模式。 警告:请参阅 https://github.com/libp2p/rust-libp2p/issues/3453 简而言之:rust 当前通过发出随机序号违反了规范,这带来了互操作性风险。 我们预计此问题将在不久的将来得到解决,但如果您处于与(较旧的)rust 节点混合的环境中,请牢记这一点。.
CacheEntry 表示消息缓存条目。.
DefaultLogger 是默认的日志记录器实现.
DSN 表示分布式存储网络的主要结构.
FloodSubRouter 结构体定义了FloodSub路由器.
GossipSubParams 定义了所有 gossipsub 特定的参数。.
GossipSubRouter 是一个实现 gossipsub 协议的路由器。 对于我们加入的每个主题,我们维护一个消息流过的覆盖层;这是 mesh map。 对于我们发布但没有加入的每个主题,我们维护一个对等节点列表,用于在覆盖层中注入我们的消息;这是 fanout map。 如果我们没有发布任何消息到 fanout 主题的 fanout 对等节点列表在 GossipSubFanoutTTL 之后将过期。.
JSONTracer 是一个将事件写入文件的追踪器,事件以 ndjson 格式编码。.
Message 表示一个消息.
MessageCache 是一个滑动窗口缓存,记住消息长达一定的历史长度。.
MessageMetadataOpt 表示消息元信息的选项。.
Node 表示一个节点及其状态息.
NodeStatusTracker 用于跟踪和管理节点状态.
Options 定义了 DSN 的配置选项.
PBTracer 是一个将事件写入文件的追踪器,事件以 protobuf 格式编码。.
PeerEvent 表示对等节点事件。.
PeerGaterParams 包含控制 peer gater 操作的参数.
PeerScoreParams 包含用于控制对等节点分数的参数.
PeerScoreSnapshot 包含对等节点分数快照.
PeerScoreThresholds 包含用于控制对等节点分数的参数.
PublishOptions 表示发布选项。.
PubSub 实现了发布-订阅系统。.
RandomSubRouter 是一个实现随机传播策略的路由器。 对于每条消息,它选择网络大小平方根个对等节点,最少为 RandomSubD,并将消息转发给它们。.
RemoteTracer 是一个将追踪事件发送到远程对等节点的追踪器.
RPC 表示一个 RPC 消息.
StatusChange 表示节点状态的变化.
Subscription 处理特定主题订阅的详细信息。 对于给定的主题可能有多个订阅。.
TimeCachedBlacklist 是一种使用时间缓存实现的黑名单.
Topic 表示 pubsub 主题的句柄。.
TopicEventHandler 用于管理特定主题事件。无需订阅即可接收事件。.
TopicOptions 主题选项结构体(占位符).
TopicScoreParams 包含用于控制主题分数的参数.
TopicScoreSnapshot 包含主题分数快照.
ValidationError 表示消息验证失败时可能会发出的错误.

# Interfaces

Blacklist 是一个接口,定义了对等节点黑名单的方法.
EventTracer 是一个通用的事件追踪器接口。 这是一个高级追踪接口,它传递由 pb/trace.proto 中定义的追踪事件。.
PeerMetadataStore 是一个接口,用于存储和检索每个对等节点的元数据.
PubSubRouter 是 PubSub 的消息路由组件.
RawTracer 是一个低级追踪接口,允许应用程序追踪 pubsub 子系统的内部操作。 请注意,追踪器是同步调用的,这意味着应用程序的追踪器必须注意不要阻塞或修改参数。 警告:此接口不是固定的,可能会根据系统需求添加新方法。.
SubscriptionFilter 是一个函数,用于告诉我们是否有兴趣允许和跟踪给定主题的订阅。 每当收到另一个对等点的订阅通知时,都会咨询过滤器; 如果过滤器返回 false,则忽略通知。 当加入主题时,也会咨询过滤器;如果过滤器返回 false,则 Join 操作将导致错误。.

# Type aliases

AcceptStatus 是表示是否接受传入 RPC 的枚举.
BackoffConnectorFactory 创建一个附加到给定主机的 BackoffConnector.
DiscoverOpt 是一个函数类型,用于配置发现选项.
EventType 表示事件类型。.
No description provided by the author
GossipSubFeature 是一个功能判别枚举.
GossipSubFeatureTest 是一个功能测试函数;它接受一个功能和协议ID,并且如果协议支持该功能则返回 true.
MapBlacklist 是一种使用map实现的黑名单.
MessageSignaturePolicy 描述是否生成、期望和/或验证签名的策略。.
MsgIdFunction 返回传递的消息的唯一 ID,PubSub 可以通过配置 Option from WithMessageIdFn 使用任何此函数的实现。 参数: - pmsg: 要计算 ID 的消息。 返回值: - string: 消息 ID。.
NodeOption 定义了一个函数类型,用于配置DSN.
NodeStatus 表示节点的状态.
Option 是用于配置 PubSub 的选项函数类型.
PeerFilter 用于过滤 pubsub peers。对于给定的主题,它应该返回 true 表示接受。 参数: - pid: peer 的 ID。 - topic: 主题。 返回值: - bool: 是否接受该 peer。.
No description provided by the author
ProtocolMatchFn 是一个函数类型,用于匹配协议ID.
ProvideKey 是一个函数,在发布新消息时提供私钥及其关联的对等节点 ID。.
PubOpt 定义发布选项的类型。.
PubSubMsgHandler 定义了处理其他节点发布消息的函数类型.
PubSubType 定义发布订阅的类型.
RelayCancelFunc 中继取消函数类型.
RouterReady 是一个函数,用于决定路由器是否准备好发布。.
SubOpt 订阅选项函数类型.
TopicEventHandlerOpt 定义了一个用于设置 TopicEventHandler 选项的函数类型。.
TopicOpt 主题选项函数类型.
ValidationResult 表示扩展验证器的决策结果.
Validator 是一个验证消息的函数,返回二元决策:接受或拒绝.
ValidatorEx 是一个扩展的验证函数,返回枚举决策.
ValidatorOpt 是 RegisterTopicValidator 的选项类型.