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