p2p

package
v0.0.0-...-4e9d6c2 Latest Latest
Warning

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

Go to latest
Published: May 12, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusInternalErr status = "internal_err"
	StatusNotFound    status = "not_found"
	StatusTimeout     status = "timeout"
	StatusSuccess     status = "success"
	StatusRateLimited status = "rate_limited"
)

Variables

View Source
var ErrInvalidResponse = errors.New("server returned an invalid response or caused an internal error")

ErrInvalidResponse is returned when a peer returns an invalid response or caused an internal error. It is used to signal that the peer couldn't serve the data successfully, and should not be retried.

View Source
var ErrNotFound = errors.New("the requested data or resource could not be found")

ErrNotFound is returned when a peer is unable to find the requested data or resource. It is used to signal that the peer couldn't serve the data successfully, and it's not available at the moment. The request may be retried later, but it's unlikely to succeed.

Functions

func ProtocolID

func ProtocolID(networkID, protocolString string) protocol.ID

ProtocolID creates a protocol ID string according to common format

Types

type Metrics

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

func InitClientMetrics

func InitClientMetrics(protocol string) (*Metrics, error)

func InitServerMetrics

func InitServerMetrics(protocol string) (*Metrics, error)

func (*Metrics) ObserveRequests

func (m *Metrics) ObserveRequests(ctx context.Context, count int64, status status)

ObserveRequests increments the total number of requests sent with the given status as an attribute.

type Middleware

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

func NewMiddleware

func NewMiddleware(concurrencyLimit int) *Middleware

func (*Middleware) DrainCounter

func (m *Middleware) DrainCounter() int64

DrainCounter returns the current value of the rate limit counter and resets it to 0.

func (*Middleware) RateLimitHandler

func (m *Middleware) RateLimitHandler(handler network.StreamHandler) network.StreamHandler

type Parameters

type Parameters struct {
	// ServerReadTimeout sets the timeout for reading messages from the stream.
	ServerReadTimeout time.Duration

	// ServerWriteTimeout sets the timeout for writing messages to the stream.
	ServerWriteTimeout time.Duration

	// HandleRequestTimeout defines the deadline for handling request.
	HandleRequestTimeout time.Duration

	// ConcurrencyLimit is the maximum number of concurrently handled streams
	ConcurrencyLimit int
	// contains filtered or unexported fields
}

Parameters is the set of parameters that must be configured for the shrex/eds protocol.

func DefaultParameters

func DefaultParameters() *Parameters

func (*Parameters) NetworkID

func (p *Parameters) NetworkID() string

NetworkID returns the value of networkID stored in params

func (*Parameters) Validate

func (p *Parameters) Validate() error

func (*Parameters) WithNetworkID

func (p *Parameters) WithNetworkID(networkID string)

WithNetworkID sets the value of networkID in params

Directories

Path Synopsis
pb
pb
pb

Jump to

Keyboard shortcuts

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