routing

package
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2025 License: MIT Imports: 8 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DiscoveryRouting

type DiscoveryRouting struct {
	discovery.Discovery // 发现服务接口
	// contains filtered or unexported fields
}

DiscoveryRouting 实现了一个基于发现服务的路由

func NewDiscoveryRouting

func NewDiscoveryRouting(disc discovery.Discovery, opts ...discovery.Option) *DiscoveryRouting

NewDiscoveryRouting 创建一个新的发现路由服务实例 参数:

  • disc: discovery.Discovery 发现服务实例
  • opts: ...discovery.Option 可选的配置选项

返回值:

  • *DiscoveryRouting: 返回创建的发现路由服务实例

func (*DiscoveryRouting) FindProvidersAsync

func (r *DiscoveryRouting) FindProvidersAsync(ctx context.Context, c cid.Cid, limit int) <-chan peer.AddrInfo

FindProvidersAsync 异步查找提供指定CID内容的节点 参数:

  • ctx: context.Context 上下文
  • c: cid.Cid 内容标识符
  • limit: int 返回结果数量限制

返回值:

  • <-chan peer.AddrInfo: 返回节点信息通道

func (*DiscoveryRouting) Provide

func (r *DiscoveryRouting) Provide(ctx context.Context, c cid.Cid, bcast bool) error

Provide 提供指定CID的内容 参数:

  • ctx: context.Context 上下文
  • c: cid.Cid 内容标识符
  • bcast: bool 是否广播

返回值:

  • error: 如果发生错误则返回错误信息

type RoutingDiscovery

type RoutingDiscovery struct {
	routing.ContentRouting // 内容路由接口
}

RoutingDiscovery 是一个使用ContentRouting实现的发现服务 命名空间使用SHA256哈希转换为Cid

func NewRoutingDiscovery

func NewRoutingDiscovery(router routing.ContentRouting) *RoutingDiscovery

NewRoutingDiscovery 创建一个新的路由发现服务实例 参数:

  • router: routing.ContentRouting 内容路由实例

返回值:

  • *RoutingDiscovery: 返回创建的路由发现服务实例

func (*RoutingDiscovery) Advertise

func (d *RoutingDiscovery) Advertise(ctx context.Context, ns string, opts ...discovery.Option) (time.Duration, error)

Advertise 在指定命名空间发布节点信息 参数:

  • ctx: context.Context 上下文
  • ns: string 命名空间
  • opts: ...discovery.Option 可选的配置选项

返回值:

  • time.Duration: 返回发布信息的有效期
  • error: 如果发生错误则返回错误信息

func (*RoutingDiscovery) FindPeers

func (d *RoutingDiscovery) FindPeers(ctx context.Context, ns string, opts ...discovery.Option) (<-chan peer.AddrInfo, error)

FindPeers 在指定命名空间查找节点 参数:

  • ctx: context.Context 上下文
  • ns: string 命名空间
  • opts: ...discovery.Option 可选的配置选项

返回值:

  • <-chan peer.AddrInfo: 返回节点信息通道
  • error: 如果发生错误则返回错误信息

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL