protoblob

package
v0.0.0-...-2c4dd60 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProtocolName = "protoblob"
)

Variables

This section is empty.

Functions

func NewAnnounceBlobsTask

func NewAnnounceBlobsTask(
	interval time.Duration,
	blobProto *blobProtocol,
) *announceBlobsTask

func NewBlobProtocol

func NewBlobProtocol(transports []swarm.Transport, blobStore blob.Store) *blobProtocol

Types

type BaseBlobTransport

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

func (*BaseBlobTransport) HandleBlobChunkRequest

func (t *BaseBlobTransport) HandleBlobChunkRequest(sha3 types.Hash, peer BlobPeerConn)

func (*BaseBlobTransport) HandleBlobManifestRequest

func (t *BaseBlobTransport) HandleBlobManifestRequest(blobID blob.ID, peer BlobPeerConn)

func (*BaseBlobTransport) OnBlobChunkRequest

func (t *BaseBlobTransport) OnBlobChunkRequest(handler func(sha3 types.Hash, peer BlobPeerConn))

func (*BaseBlobTransport) OnBlobManifestRequest

func (t *BaseBlobTransport) OnBlobManifestRequest(handler func(blobID blob.ID, peer BlobPeerConn))

type BlobPeerConn

type BlobPeerConn interface {
	swarm.PeerConn
	FetchBlobManifest(blobID blob.ID) (blob.Manifest, error)
	SendBlobManifest(m blob.Manifest, exists bool) error
	FetchBlobChunk(sha3 types.Hash) ([]byte, error)
	SendBlobChunk(chunk []byte, exists bool) error
}

type BlobProtocol

type BlobProtocol interface {
	process.Interface
	ProvidersOfBlob(ctx context.Context, blobID blob.ID) <-chan BlobPeerConn
}

type BlobTransport

type BlobTransport interface {
	swarm.Transport
	ProvidersOfBlob(ctx context.Context, blobID blob.ID) (<-chan BlobPeerConn, error)
	AnnounceBlobs(ctx context.Context, blobIDs types.Set[blob.ID])
	OnBlobManifestRequest(handler func(blobID blob.ID, peer BlobPeerConn))
	OnBlobChunkRequest(handler func(sha3 types.Hash, peer BlobPeerConn))
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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