package
0.0.2
Repository: https://github.com/dep2p/go-dep2p.git
Documentation: pkg.go.dev

# Packages

Package obs 实现资源管理器的指标跟踪 已弃用: obs包已弃用,所有导出的类型和方法 已移至rcmgr包。请使用rcmgr包中对应的标识符,例如: obs.NewStatsTraceReporter => rcmgr.NewStatsTraceReporter.

# Functions

GetAllowlist 尝试从给定的资源管理器接口获取白名单 参数: - rcmgr: 资源管理器接口 返回值: - *Allowlist: 白名单对象,如果获取失败则返回nil.
IsConnScope 检查给定名称是否为连接作用域 参数: - name: string - 作用域名称 返回值: - bool - 是否为连接作用域.
IsSpan 检查给定名称是否为 span 作用域 参数: - name: 要检查的名称 返回: - bool: 如果是 span 作用域则返回 true.
IsStreamScope 检查给定名称是否为流作用域 参数: - name: string - 作用域名称 返回值: - bool - 是否为流作用域.
IsSystemScope 检查给定名称是否为系统作用域 参数: - name: string - 作用域名称 返回值: - bool - 是否为系统作用域.
IsTransientScope 检查给定名称是否为临时作用域 参数: - name: string - 作用域名称 返回值: - bool - 是否为临时作用域.
MustRegisterWith 注册所有指标收集器到Prometheus @param reg - Prometheus注册器实例.
NewDefaultLimiterFromJSON 通过解析 JSON 配置创建一个新的限制器,使用默认限制作为回退。 参数: - in: io.Reader - JSON 配置输入流 返回值: - Limiter - 创建的限制器 - error 错误信息.
NewFixedLimiter 创建一个新的固定限制器 参数: - conf: ConcreteLimitConfig - 具体限制配置 返回值: - Limiter - 创建的限制器.
NewLimiterFromJSON 通过解析 JSON 配置创建一个新的限制器。 参数: - in: io.Reader - JSON 配置输入流 - defaults: ConcreteLimitConfig - 默认限制配置 返回值: - Limiter - 创建的限制器 - error 错误信息.
NewResourceManager 创建一个新的资源管理器 参数: - limits: 资源限制器 - opts: 可选的配置选项 返回: - network.ResourceManager: 资源管理器接口实现 - error: 错误信息.
NewStatsTraceReporter 创建一个新的统计跟踪报告器 返回值: - StatsTraceReporter: 统计跟踪报告器实例 - error: 错误信息.
ParseProtocolScopeName 从作用域名称中解析协议名称 参数: - name: string - 作用域名称 返回值: - string - 协议名称,如果不是协议作用域则返回空字符串.
PeerStrInScopeName 从作用域名称中提取对等节点ID字符串 参数: - name: string - 作用域名称 返回值: - string - 对等节点ID字符串,如果不是对等节点作用域则返回空字符串.
WithAllowlistedMultiaddrs 设置要加入白名单的多地址 参数: - mas: 多地址切片 返回: - Option: 配置选项函数.
WithLimitPerSubnet 设置每个子网允许的连接数限制。 如果该子网未在 NetworkPrefixLimit 选项中定义,这将限制每个子网的连接数。 可以将其视为任何给定子网的默认限制。 参数: - ipv4: []ConnLimitPerSubnet - IPv4 的子网限制列表 - ipv6: []ConnLimitPerSubnet - IPv6 的子网限制列表 返回值: - Option - 返回一个资源管理器选项函数.
WithMetrics 是一个资源管理器选项,用于启用指标收集 参数: - reporter: MetricsReporter - 指标报告器 返回值: - Option - 资源管理器选项.
WithMetricsDisabled 返回一个禁用指标收集的选项函数 @return Option - 资源管理器配置选项.
WithNetworkPrefixLimit 设置特定网络前缀允许的连接数限制。 当你想为特定子网设置比默认子网限制更高的限制时使用此选项。 参数: - ipv4: []NetworkPrefixLimit - IPv4 的网络前缀限制列表 - ipv6: []NetworkPrefixLimit - IPv6 的网络前缀限制列表 返回值: - Option - 返回一个资源管理器选项函数.
WithTrace 创建一个带跟踪功能的选项 参数: - path string 跟踪文件路径 返回值: - Option 资源管理器选项.
WithTraceReporter 创建一个带事件报告器的选项 参数: - reporter TraceReporter 事件报告器 返回值: - Option 资源管理器选项.

# Constants

BlockAllLimit 是不允许任何资源的 LimitVal。.
BlockAllLimit64 是不允许任何资源的 LimitVal。.
DefaultLimit 是资源的默认值。具体值取决于上下文,但会从 `DefaultLimits` 获取值。.
DefaultLimit64 是资源的默认值。.
添加连接事件.
添加流事件.
阻塞添加连接事件.
阻塞添加流事件.
阻塞预留内存事件.
创建作用域事件.
销毁作用域事件.
释放内存事件.
移除连接事件.
移除流事件.
预留内存事件.
开始事件.
Unlimited 是无限资源的值。任意高的数字也可以。.
Unlimited64 是无限资源的值。.

# Variables

DefaultLimits 是默认限制器构造函数使用的限制。 参数: - SystemBaseLimit: 系统基础限制配置 - SystemLimitIncrease: 系统限制增量配置 - TransientBaseLimit: 临时基础限制配置 - TransientLimitIncrease: 临时限制增量配置 - AllowlistedSystemBaseLimit: 白名单系统基础限制配置 - AllowlistedSystemLimitIncrease: 白名单系统限制增量配置 - AllowlistedTransientBaseLimit: 白名单临时基础限制配置 - AllowlistedTransientLimitIncrease: 白名单临时限制增量配置 - ServiceBaseLimit: 服务基础限制配置 - ServiceLimitIncrease: 服务限制增量配置 - ServicePeerBaseLimit: 服务对等节点基础限制配置 - ServicePeerLimitIncrease: 服务对等节点限制增量配置 - ProtocolBaseLimit: 协议基础限制配置 - ProtocolLimitIncrease: 协议限制增量配置 - ProtocolPeerBaseLimit: 协议对等节点基础限制配置 - ProtocolPeerLimitIncrease: 协议对等节点限制增量配置 - PeerBaseLimit: 对等节点基础限制配置 - PeerLimitIncrease: 对等节点限制增量配置 - ConnBaseLimit: 连接基础限制配置 - StreamBaseLimit: 流基础限制配置 返回值: - ScalingLimitConfig: 包含所有限制配置的可扩展限制配置.
DefaultNetworkPrefixLimitV4 定义了 IPv4 的默认网络前缀限制.
DefaultNetworkPrefixLimitV6 定义了 IPv6 的默认网络前缀限制.
InfiniteLimits 是一个使用无限限制的限制器配置,因此实际上不限制任何内容。 请记住,操作系统会限制应用程序可以使用的文件描述符数量。 参数: - system: BaseLimit - 系统级别的无限制配置 - transient: BaseLimit - 临时的无限制配置 - allowlistedSystem: BaseLimit - 白名单系统的无限制配置 - allowlistedTransient: BaseLimit - 白名单临时的无限制配置 - serviceDefault: BaseLimit - 服务默认的无限制配置 - servicePeerDefault: BaseLimit - 服务对等节点默认的无限制配置 - protocolDefault: BaseLimit - 协议默认的无限制配置 - protocolPeerDefault: BaseLimit - 协议对等节点默认的无限制配置 - peerDefault: BaseLimit - 对等节点默认的无限制配置 - conn: BaseLimit - 连接的无限制配置 - stream: BaseLimit - 流的无限制配置.

# Structs

Allowlist 白名单结构体.
BaseLimit 是基本资源限制的混入类型。.
BaseLimitIncrease 是每 GiB 允许内存的增加量。.
ConcreteLimitConfig 类似于 PartialLimitConfig,但所有值都已定义。 没有未设置的"默认"值。通常通过调用 PartialLimitConfig.Build(rcmgr.DefaultLimits.AutoScale()) 构建.
ConnLimitPerSubnet 定义了每个子网的连接限制.
ErrMemoryLimitExceeded 定义了内存超出限制的错误结构体.
ErrStreamOrConnLimitExceeded 定义了流或连接超出限制的错误结构体.
NetworkPrefixLimit 定义了特定网络前缀的连接限制.
PartialLimitConfig 定义部分限制配置.
ResourceLimits 是基本资源限制的类型。.
ResourceManagerStat 定义了资源管理器的统计信息结构.
ScalingLimitConfig 是用于配置默认限制的结构体。 {}BaseLimit 是适用于最小节点的限制(dep2p 使用 128MB 内存)和 256 个文件描述符。 {}LimitIncrease 是每增加 1GB RAM 时额外授予的限制。.
StatsTraceReporter 使用跟踪信息报告资源管理器的统计数据.
TraceEvt 定义了跟踪事件的结构体.

# Interfaces

Limit 是一个指定基本资源限制的接口。.
Limiter 是为资源管理器提供限制的接口。.
MetricsReporter 是一个用于收集资源管理器操作指标的接口.
ResourceManagerState 是一个允许访问资源管理器状态的接口.
ResourceScopeLimiter 是一个允许访问作用域限制的接口.
TraceReporter 定义事件报告器接口.

# Type aliases

LimitVal 限制值类型.
LimitVal64 64位限制值类型.
Option 是一个函数类型,用于配置资源管理器.
TraceEvtTyp 定义跟踪事件类型.