bcremote

package
v0.0.0-...-575026b Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2025 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Overview

Package bcremote implements a blobcache.Service over Blobcache Network Protocol (BCNP). This is useful for applications written in Go, or that have a QUIC implementation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Service

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

func Dial

func Dial(privateKey ed25519.PrivateKey, ep blobcache.Endpoint) (*Service, error)

Dial starts listening via UDP on any available port, then calls New to create a Service.

func New

func New(privateKey ed25519.PrivateKey, pc net.PacketConn, ep blobcache.Endpoint) *Service

New creates a Service, which is implemented remotely. Endpoint describes the service to connect to. Connections will be established out of pc. privateKey is used to authenticate to the service.

func (*Service) Abort

func (s *Service) Abort(ctx context.Context, tx blobcache.Handle) error

Abort aborts a transaction.

func (s *Service) AllowLink(ctx context.Context, tx blobcache.Handle, subvol blobcache.Handle) error

AllowLink allows the Volume to reference another volume.

func (*Service) Await

func (s *Service) Await(ctx context.Context, cond blobcache.Conditions) error

func (*Service) BeginTx

func (s *Service) BeginTx(ctx context.Context, volh blobcache.Handle, txp blobcache.TxParams) (*blobcache.Handle, error)

func (*Service) CloneVolume

func (s *Service) CloneVolume(ctx context.Context, caller *blobcache.PeerID, volh blobcache.Handle) (*blobcache.Handle, error)

func (*Service) Close

func (s *Service) Close() error

Close closes the Service.

func (*Service) Commit

func (s *Service) Commit(ctx context.Context, tx blobcache.Handle) error

Commit commits a transaction.

func (*Service) Copy

func (s *Service) Copy(ctx context.Context, tx blobcache.Handle, cids []blobcache.CID, srcTxns []blobcache.Handle, success []bool) error

func (*Service) CreateVolume

func (s *Service) CreateVolume(ctx context.Context, host *blobcache.Endpoint, vspec blobcache.VolumeSpec) (*blobcache.Handle, error)

CreateVolume creates a new volume.

func (*Service) Delete

func (s *Service) Delete(ctx context.Context, tx blobcache.Handle, cids []blobcache.CID) error

Delete deletes a CID from the volume

func (*Service) Drop

func (s *Service) Drop(ctx context.Context, h blobcache.Handle) error

func (*Service) Endpoint

func (s *Service) Endpoint(ctx context.Context) (blobcache.Endpoint, error)

Endpoint returns the endpoint of the remote service.

func (*Service) Exists

func (s *Service) Exists(ctx context.Context, tx blobcache.Handle, cids []blobcache.CID, dst []bool) error

Exists checks if a CID exists in the volume

func (*Service) Get

func (s *Service) Get(ctx context.Context, tx blobcache.Handle, cid blobcache.CID, buf []byte, opts blobcache.GetOpts) (int, error)

Get returns the data for a CID.

func (*Service) InspectHandle

func (s *Service) InspectHandle(ctx context.Context, h blobcache.Handle) (*blobcache.HandleInfo, error)

func (*Service) InspectTx

func (s *Service) InspectTx(ctx context.Context, tx blobcache.Handle) (*blobcache.TxInfo, error)

InspectTx returns info about a transaction.

func (*Service) InspectVolume

func (s *Service) InspectVolume(ctx context.Context, h blobcache.Handle) (*blobcache.VolumeInfo, error)

InspectVolume returns info about a Volume.

func (*Service) IsVisited

func (s *Service) IsVisited(ctx context.Context, tx blobcache.Handle, cids []blobcache.CID, dst []bool) error

func (*Service) KeepAlive

func (s *Service) KeepAlive(ctx context.Context, hs []blobcache.Handle) error

func (*Service) Load

func (s *Service) Load(ctx context.Context, tx blobcache.Handle, dst *[]byte) error

Load loads the volume root into dst

func (*Service) OpenFiat

func (s *Service) OpenFiat(ctx context.Context, target blobcache.OID, mask blobcache.ActionSet) (*blobcache.Handle, error)

func (*Service) OpenFrom

func (s *Service) OpenFrom(ctx context.Context, base blobcache.Handle, target blobcache.OID, mask blobcache.ActionSet) (*blobcache.Handle, error)

func (*Service) Post

func (s *Service) Post(ctx context.Context, tx blobcache.Handle, data []byte, opts blobcache.PostOpts) (blobcache.CID, error)

Post posts data to the volume

func (*Service) Save

func (s *Service) Save(ctx context.Context, tx blobcache.Handle, src []byte) error

Save writes to the volume root.

func (*Service) Share

func (*Service) Visit

func (s *Service) Visit(ctx context.Context, tx blobcache.Handle, cids []blobcache.CID) error

Jump to

Keyboard shortcuts

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