Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PrivKeyToStatelessResetKey ¶
func PrivKeyToStatelessResetKey(key crypto.PrivKey) (quic.StatelessResetKey, error)
PrivKeyToStatelessResetKey 将私钥转换为 QUIC 无状态重置密钥 参数:
- key: dep2p 私钥
返回:
- quic.StatelessResetKey: 生成的无状态重置密钥
- error: 转换过程中的错误,如果成功则返回 nil
func PrivKeyToTokenGeneratorKey ¶
func PrivKeyToTokenGeneratorKey(key crypto.PrivKey) (quic.TokenGeneratorKey, error)
PrivKeyToTokenGeneratorKey 将私钥转换为 QUIC 令牌生成器密钥 参数:
- key: dep2p 私钥
返回:
- quic.TokenGeneratorKey: 生成的令牌生成器密钥
- error: 转换过程中的错误,如果成功则返回 nil
Types ¶
type AddrsFactory ¶
type AddrsFactory = bhost.AddrsFactory
AddrsFactory 是一个函数类型,用于处理节点的地址工厂 参数:
- 接收一组正在监听的多地址
返回值:
- 返回一组应该向网络广播的多地址
type AutoNATConfig ¶
type AutoNATConfig struct {
ForceReachability *network.Reachability // 强制设置节点的可达性状态
EnableService bool // 是否启用 AutoNAT 服务
ThrottleGlobalLimit int // 全局限流阈值
ThrottlePeerLimit int // 每个对等点的限流阈值
ThrottleInterval time.Duration // 限流检查的时间间隔
}
AutoNATConfig 定义了 dep2p host 的 AutoNAT 配置
type Config ¶
type Config struct {
UserAgent string // 节点的用户代理标识符
ProtocolVersion string // 节点使用的协议版本
PeerKey crypto.PrivKey // 节点的私钥
// 传输层配置
QUICReuse []fx.Option // QUIC 连接复用的选项
Transports []fx.Option // 传输层的配置选项
Muxers []tptu.StreamMuxer // 流多路复用器列表
SecurityTransports []Security // 安全传输配置列表
Insecure bool // 是否允许不安全连接
PSK pnet.PSK // 预共享密钥
// 连接相关配置
DialTimeout time.Duration // 连接超时时间
// 中继相关配置
RelayCustom bool // 是否使用自定义中继
Relay bool // 是否启用中继功能
EnableRelayService bool // 是否启用中继服务
RelayServiceOpts []relayv2.Option // 中继服务的配置选项
// 网络地址配置
ListenAddrs []ma.Multiaddr // 监听地址列表
AddrsFactory bhost.AddrsFactory // 地址工厂
ConnectionGater connmgr.ConnectionGater // 连接过滤器
// 资源管理配置
ConnManager connmgr.ConnManager // 连接管理器
ResourceManager network.ResourceManager // 资源管理器
// NAT 和对等存储配置
NATManager NATManagerC // NAT 管理器构造函数
Peerstore peerstore.Peerstore // 对等点存储
Reporter metrics.Reporter // 指标报告器
// 网络功能配置
MultiaddrResolver network.MultiaddrDNSResolver // 多地址 DNS 解析器
DisablePing bool // 是否禁用 ping
Routing RoutingC // 路由构造函数
// 自动中继和 NAT 配置
EnableAutoRelay bool // 是否启用自动中继
AutoRelayOpts []autorelay.Option // 自动中继选项
AutoNATConfig // AutoNAT 配置
// 打洞功能配置
EnableHolePunching bool // 是否启用打洞功能
HolePunchingOptions []holepunch.Option // 打洞选项
// 监控和指标配置
DisableMetrics bool // 是否禁用指标收集
PrometheusRegisterer prometheus.Registerer // Prometheus 注册器
// 网络优化配置
DialRanker network.DialRanker // 拨号优先级排序器
SwarmOpts []swarm.Option // Swarm 配置选项
// 功能开关配置
DisableIdentifyAddressDiscovery bool // 是否禁用地址发现
EnableAutoNATv2 bool // 是否启用 AutoNAT v2
// 黑洞检测配置
UDPBlackHoleSuccessCounter *swarm.BlackHoleSuccessCounter // UDP 黑洞检测成功计数器
CustomUDPBlackHoleSuccessCounter bool // 是否使用自定义 UDP 黑洞检测计数器
IPv6BlackHoleSuccessCounter *swarm.BlackHoleSuccessCounter // IPv6 黑洞检测成功计数器
CustomIPv6BlackHoleSuccessCounter bool // 是否使用自定义 IPv6 黑洞检测计数器
// 用户自定义配置
UserFxOptions []fx.Option // 用户自定义的 fx 选项
ShareTCPListener bool // 是否共享 TCP 监听器
}
Config 描述了 dep2p 节点的完整配置
type NATManagerC ¶
type NATManagerC func(network.Network) bhost.NATManager
NATManagerC 是一个函数类型,用于构造 NAT 管理器 参数:
- network.Network: 网络对象,用于管理 NAT 穿透
返回值:
- bhost.NATManager: 返回一个 NAT 管理器实例
Click to show internal directories.
Click to hide internal directories.