storage

package
v0.0.82 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2020 License: MIT Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Chunker         string = ""
	DefaultHashFunc        = "sha2-256"
)

Variables

View Source
var (
	StoreMain = "store_main"
)

Functions

func Add

func Add(peer StoragePeer, r io.Reader, cb cid.Builder, l layout) (ipld.Node, error)

Add chunks and adds content to the DAGService from a reader. data is stored as a UnixFS DAG (default for IPFS). fallback to balanced layout, large data should be added via AddStream() returns the root ipld.Node

func AddDir added in v0.0.8

func AddDir(peer StoragePeer) (ufsio.Directory, ipld.Node, error)

AddDir creates a new directory and adds it to the DAGService

func AddStream

func AddStream(peer StoragePeer, r io.Reader, hfunc string) (ipld.Node, error)

AddStream is suitable for large data using trickle layout which is suitable for streaming

func AddToDir added in v0.0.8

func AddToDir(peer StoragePeer, dir ufsio.Directory, name string, node ipld.Node) (ufsio.Directory, ipld.Node, error)

AddToDir adds the given child to a dir

func ConfigureCrdt

func ConfigureCrdt(sp StoragePeer, name string, crdtOpts *crdt.Options) (*crdt.Datastore, error)

func CreateDagServices

func CreateDagServices(base core.LibP2PPeer) (ipld.DAGService, blockservice.BlockService, blockstore.Blockstore, error)

func CreateOfflineDagServices

func CreateOfflineDagServices(base core.LibP2PPeer) (ipld.DAGService, blockservice.BlockService, blockstore.Blockstore, error)

func Get

func Get(peer StoragePeer, c cid.Cid) (ufsio.ReadSeekCloser, error)

Get returns a reader to a file (must be a UnixFS DAG) as identified by its root CID.

func GetBytes

func GetBytes(peer StoragePeer, c cid.Cid) ([]byte, error)

GetBytes reads the entire dag and return the raw data bytes

func LoadDir added in v0.0.8

func LoadDir(peer StoragePeer, c cid.Cid) (ufsio.Directory, error)

LoadDir looks for the desired dir

func NewCidBuilder added in v0.0.8

func NewCidBuilder(hfunc string) (cid.Builder, error)

func NewDagSyncer

func NewDagSyncer(base ipld.DAGService, bs blockstore.Blockstore) *dagSyncer

func RemoveFromDir added in v0.0.9

func RemoveFromDir(peer StoragePeer, dir ufsio.Directory, name string) (ufsio.Directory, ipld.Node, error)

RemoveFromDir clears the given child from the dir

func Session

func Session(sp StoragePeer) ipld.NodeGetter

Session returns a session-based NodeGetter.

func SetupReprovider

func SetupReprovider(base core.LibP2PPeer, bstore blockstore.Blockstore, reprovideInterval time.Duration) (provider.System, error)

Types

type MultiStorePeer added in v0.0.9

type MultiStorePeer struct {
	StoragePeer
	// contains filtered or unexported fields
}

func NewMultiStorePeer added in v0.0.9

func NewMultiStorePeer(sp StoragePeer) *MultiStorePeer

func (*MultiStorePeer) Crdt added in v0.0.9

func (msp *MultiStorePeer) Crdt(name string) *crdt.Datastore

func (*MultiStorePeer) Datastore added in v0.0.9

func (msp *MultiStorePeer) Datastore(name string) datastore.Batching

func (*MultiStorePeer) UseCrdt added in v0.0.9

func (msp *MultiStorePeer) UseCrdt(name string, store *crdt.Datastore) bool

func (*MultiStorePeer) UseDatastore added in v0.0.9

func (msp *MultiStorePeer) UseDatastore(name string, store datastore.Batching) bool

type StoragePeer

type StoragePeer interface {
	core.LibP2PPeer

	DagService() ipld.DAGService
	BlockService() blockservice.BlockService
	Reprovider() provider.System
}

func NewStoragePeer

func NewStoragePeer(base *core.BasePeer, offline bool) StoragePeer

Jump to

Keyboard shortcuts

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