Help us shape the future of Go! Take the 2026 Go Developer Survey

providertracker

package
v0.0.32 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// MaxFailureBeforeBan is the number of failures before a provider is banned
	MaxFailureBeforeBan = 30

	// BanDueToFailureDur is the duration of a ban due to failure
	BanDueToFailureDur = 15 * time.Minute

	// BackOffDurAfterFailure is the backoff time before a failed provider can be tried again.
	BackOffDurAfterFailure = 1 * time.Minute
)

Functions

This section is empty.

Types

type ProviderTracker

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

ProviderTracker is used to track status and behaviour of providers.

func New

func New() *ProviderTracker

New creates an instance of dht.ProviderTracker.

func (*ProviderTracker) Ban

func (m *ProviderTracker) Ban(peer peer.ID, dur time.Duration)

Ban implements ProviderTracker

func (*ProviderTracker) BanCache

func (m *ProviderTracker) BanCache() *cache.Cache

BanCache returns the cache containing banned peers

func (*ProviderTracker) DidPeerSendNope

func (m *ProviderTracker) DidPeerSendNope(id peer.ID, key []byte) bool

DidPeerSendNope implements ProviderTracker

func (*ProviderTracker) Get

func (m *ProviderTracker) Get(id peer.ID, cb func(*dht2.ProviderInfo)) *dht2.ProviderInfo

Get implements ProviderTracker

func (*ProviderTracker) IsGood

func (m *ProviderTracker) IsGood(id peer.ID) bool

IsGood implements ProviderTracker

func (*ProviderTracker) MarkFailure

func (m *ProviderTracker) MarkFailure(id peer.ID)

MarkFailure implements ProviderTracker

func (*ProviderTracker) MarkSeen

func (m *ProviderTracker) MarkSeen(id peer.ID)

MarkSeen implements ProviderTracker

func (*ProviderTracker) NumProviders

func (m *ProviderTracker) NumProviders() int

NumProviders implements ProviderTracker

func (*ProviderTracker) PeerSentNope

func (m *ProviderTracker) PeerSentNope(id peer.ID, key []byte)

PeerSentNope implements ProviderTracker

func (*ProviderTracker) Register

func (m *ProviderTracker) Register(addrs ...peer.AddrInfo)

Register implements ProviderTracker

Jump to

Keyboard shortcuts

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