diff --git a/core/coreapi/dag.go b/core/coreapi/dag.go index e2bd144ff..7462c103a 100644 --- a/core/coreapi/dag.go +++ b/core/coreapi/dag.go @@ -67,10 +67,14 @@ func (api *DagAPI) Tree(ctx context.Context, p coreiface.Path, opts ...caopts.Da return out, nil } +// Batch creates new DagBatch func (api *DagAPI) Batch(ctx context.Context) coreiface.DagBatch { return &dagBatch{api: api} } +// Put inserts data using specified format and input encoding. Unless used with +// `WithCodes` or `WithHash`, the defaults "dag-cbor" and "sha256" are used. +// Returns the path of the inserted data. func (b *dagBatch) Put(ctx context.Context, src io.Reader, opts ...caopts.DagPutOption) (coreiface.ResolvedPath, error) { nd, err := getNode(src, opts...) if err != nil { @@ -84,6 +88,7 @@ func (b *dagBatch) Put(ctx context.Context, src io.Reader, opts ...caopts.DagPut return coreiface.IpldPath(nd.Cid()), nil } +// Commit commits nodes to the datastore and announces them to the network func (b *dagBatch) Commit(ctx context.Context) error { b.lk.Lock() defer b.lk.Unlock() diff --git a/core/coreapi/dag_test.go b/core/coreapi/dag_test.go index e75699f69..16247e1f0 100644 --- a/core/coreapi/dag_test.go +++ b/core/coreapi/dag_test.go @@ -136,7 +136,7 @@ func TestBatch(t *testing.T) { } _, err = api.Dag().Get(ctx, c) - if err == nil || err.Error() != "merkledag: not found"{ + if err == nil || err.Error() != "merkledag: not found" { t.Error(err) } diff --git a/core/coreapi/interface/dag.go b/core/coreapi/interface/dag.go index a128e97c5..01d6112e7 100644 --- a/core/coreapi/interface/dag.go +++ b/core/coreapi/interface/dag.go @@ -22,6 +22,7 @@ type DagOps interface { type DagBatch interface { DagOps + // Commit commits nodes to the datastore and announces them to the network Commit(ctx context.Context) error } @@ -35,5 +36,6 @@ type DagAPI interface { // Tree returns list of paths within a node specified by the path. Tree(ctx context.Context, path Path, opts ...options.DagTreeOption) ([]Path, error) + // Batch creates new DagBatch Batch(ctx context.Context) DagBatch }