retrieval

package
v0.9.3 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2023 License: BSD-3-Clause Imports: 22 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

This section is empty.

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 cluster.ZeroAddress
	// as the value for sourcePeerAddress.
	RetrieveChunk(ctx context.Context, address, sourcePeerAddr cluster.Address) (chunk cluster.Chunk, err error)
}

type Service

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

func New

func New(addr cluster.Address, storer storage.Storer, streamer p2p.Streamer, chunkPeerer topology.ClosestPeerer, logger log.Logger, accounting bookkeeper.Interface, pricer pricer.Interface, tracer *tracer.Tracer, forwarderCaching bool, validStamp voucher.ValidStampFn) *Service

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, addr, sourcePeerAddr cluster.Address) (cluster.Chunk, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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