discovery

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2019 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Discoverer

type Discoverer interface {
	AddProvider(provider Provider) error
	Add(v *peer.PeerInfo)
	// AddPersistent(v *peer.PeerInfo)
	FindByFingerprint(
		ctx context.Context,
		fingerprint string,
		opts ...Option,
	) ([]*peer.PeerInfo, error)
	FindByContent(
		ctx context.Context,
		contentHash string,
		opts ...Option,
	) ([]*peer.PeerInfo, error)
}

Discoverer interface

func NewDiscoverer

func NewDiscoverer() Discoverer

NewDiscoverer creates a new empty discoverer with no providers

type Option

type Option func(*Options)

Option is the type for our functional options

func Local

func Local() Option

Local forces the discoverer to only look at its cache

type Options

type Options struct {
	Local bool
}

Options is the complete options structure for the discoverer

func ParseOptions

func ParseOptions(opts ...Option) *Options

type Provider

type Provider interface {
	FindByFingerprint(
		ctx context.Context,
		fingerprint string,
		opts ...Option,
	) ([]*peer.PeerInfo, error)
	FindByContent(
		ctx context.Context,
		contentHash string,
		opts ...Option,
	) ([]*peer.PeerInfo, error)
}

Provider defines the interface for a discoverer provider, eg our DHT

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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