retrieval

package
v2.0.1 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: BSD-3-Clause Imports: 23 Imported by: 0

Documentation

Overview

Package retrieval provides the retrieval protocol implementation. The protocol is used to retrieve chunks over the network using forwarding-kademlia routing.

Index

Constants

View Source
const (
	RetrieveChunkTimeout = time.Second * 30
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Interface

type Interface interface {
	// RetrieveChunk retrieves a chunk from the network using the retrieval protocol.
	// it takes as parameters a context, a chunk address to retrieve (content-addressed or single-owner) and
	// a source peer address, for the case that we are requesting the chunk for another peer. In case the request
	// originates at the current node (i.e. no forwarding involved), the caller should use swarm.ZeroAddress
	// as the value for sourcePeerAddress.
	RetrieveChunk(ctx context.Context, address, sourcePeerAddr swarm.Address) (chunk swarm.Chunk, err error)
}

type Service

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

func New

func New(
	addr swarm.Address,
	radiusFunc func() (uint8, error),
	storer Storer,
	streamer p2p.Streamer,
	chunkPeerer topology.ClosestPeerer,
	logger log.Logger,
	accounting accounting.Interface,
	pricer pricer.Interface,
	tracer *tracing.Tracer,
	forwarderCaching bool,
) *Service

func (*Service) Close

func (s *Service) Close() error

func (*Service) Metrics

func (s *Service) Metrics() []prometheus.Collector

func (*Service) Protocol

func (s *Service) Protocol() p2p.ProtocolSpec

func (*Service) RetrieveChunk

func (s *Service) RetrieveChunk(ctx context.Context, chunkAddr, sourcePeerAddr swarm.Address) (swarm.Chunk, error)

type Storer

type Storer interface {
	Cache() storage.Putter
	Lookup() storage.Getter
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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