Documentation ¶
Overview ¶
Package adder implements functionality to add content to IPFS daemons managed by the Cluster.
Index ¶
- Variables
- func BlockAllocate(ctx context.Context, rpc *rpc.Client, pinOpts api.PinOptions) ([]peer.ID, error)
- func Pin(ctx context.Context, rpc *rpc.Client, pin api.Pin) error
- func PutBlock(ctx context.Context, rpc *rpc.Client, n *api.NodeWithMeta, dests []peer.ID) error
- type Adder
- type BaseDAGService
- func (dag BaseDAGService) Get(ctx context.Context, key cid.Cid) (ipld.Node, error)
- func (dag BaseDAGService) GetMany(ctx context.Context, keys []cid.Cid) <-chan *ipld.NodeOption
- func (dag BaseDAGService) Remove(ctx context.Context, key cid.Cid) error
- func (dag BaseDAGService) RemoveMany(ctx context.Context, keys []cid.Cid) error
- type ClusterDAGService
Constants ¶
This section is empty.
Variables ¶
var ErrDAGNotFound = errors.New("dagservice: block not found")
ErrDAGNotFound is returned whenever we try to get a block from the DAGService.
Functions ¶
func BlockAllocate ¶
BlockAllocate helps allocating blocks to peers.
Types ¶
type Adder ¶
type Adder struct {
// contains filtered or unexported fields
}
Adder is used to add content to IPFS Cluster using an implementation of ClusterDAGService.
func New ¶
func New(ds ClusterDAGService, p *api.AddParams, out chan *api.AddedOutput) *Adder
New returns a new Adder with the given ClusterDAGService, add options and a channel to send updates during the adding process.
An Adder may only be used once.
type BaseDAGService ¶
type BaseDAGService struct { }
BaseDAGService partially implements an ipld.DAGService. It provides the methods which are not needed by ClusterDAGServices (Get*, Remove*) so that they can save adding this code.
func (BaseDAGService) GetMany ¶
func (dag BaseDAGService) GetMany(ctx context.Context, keys []cid.Cid) <-chan *ipld.NodeOption
GetMany returns an output channel that always emits an error
func (BaseDAGService) RemoveMany ¶
RemoveMany is a nop
type ClusterDAGService ¶
type ClusterDAGService interface { ipld.DAGService // Finalize receives the IPFS content root CID as // returned by the ipfs adder. Finalize(ctx context.Context, ipfsRoot cid.Cid) (cid.Cid, error) }
ClusterDAGService is an implementation of ipld.DAGService plus a Finalize method. ClusterDAGServices can be used to provide Adders with a different add implementation.
Directories ¶
Path | Synopsis |
---|---|
Package adderutils provides some utilities for adding content to cluster.
|
Package adderutils provides some utilities for adding content to cluster. |
Package ipfsadd is a simplified copy of go-ipfs/core/coreunix/add.go
|
Package ipfsadd is a simplified copy of go-ipfs/core/coreunix/add.go |
Package local implements a ClusterDAGService that chunks and adds content to a local peer, before pinning it.
|
Package local implements a ClusterDAGService that chunks and adds content to a local peer, before pinning it. |
Package sharding implements a sharding ClusterDAGService places content in different shards while it's being added, creating a final Cluster DAG and pinning it.
|
Package sharding implements a sharding ClusterDAGService places content in different shards while it's being added, creating a final Cluster DAG and pinning it. |