discovery

package
v0.0.0-...-d151d1d Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultSearchInterval             = time.Minute
	DefaultSearchMaxPeerSize          = 10
	DefaultSearchAsksForNumberOfPeers = 3
)

Variables

View Source
var (
	ErrSearching = errors.New("already searching")
)

Functions

This section is empty.

Types

type ProtocolDiscovery

type ProtocolDiscovery struct {
	// contains filtered or unexported fields
}

ProtocolDiscovery is a struct that represents a protocol discovery mechanism. It is responsible for discovering peers supporting specific protocols and initiating search requests.

func NewProtocolDiscovery

func NewProtocolDiscovery(h host.Host, opts ...ProtocolDiscoveryOption) *ProtocolDiscovery

NewProtocolDiscovery creates a new instance of ProtocolDiscovery.

func (*ProtocolDiscovery) Announce

func (p *ProtocolDiscovery) Announce(ctx context.Context, serviceName string) error

func (*ProtocolDiscovery) SearchPeers

func (p *ProtocolDiscovery) SearchPeers(ctx context.Context, serviceName string) (<-chan []ma.Multiaddr, error)

type ProtocolDiscoveryOption

type ProtocolDiscoveryOption func(pd *ProtocolDiscovery)

func WithMaxSearchSize

func WithMaxSearchSize(max int) ProtocolDiscoveryOption

WithMaxSearchSize sets the maximum number of peers to search for.

func WithSearchAsksForNumberOfPeers

func WithSearchAsksForNumberOfPeers(num int) ProtocolDiscoveryOption

WithSearchAsksForNumberOfPeers sets the number of peers to ask for during a search.

func WithSearchInterval

func WithSearchInterval(interval time.Duration) ProtocolDiscoveryOption

WithSearchInterval sets the interval between consecutive search operations.

func WithSearchTimeout

func WithSearchTimeout(timeout time.Duration) ProtocolDiscoveryOption

WithSearchTimeout sets the timeout for a search operation.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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