coreapi unixfs: docs for getSession, use api.dag
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
Łukasz Magiera committed
Oct 23, 2018 at 01:13 UTC
838aeb9b898149f8e464d951b67a487fcab5c065
6 files changed
+23
-20
core/coreapi/coreapi.go
+9
@@ -14,9 +14,12 @@ Interfaces here aren't yet completely stable.
14
package coreapi
15
16
import (
17
+ "context"
18
+
19
core "github.com/ipfs/go-ipfs/core"
20
coreiface "github.com/ipfs/go-ipfs/core/coreapi/interface"
21
22
+ dag "gx/ipfs/QmVvNkTCx8V9Zei8xuTYTBdUXmbnDRS4iNuw1SztYyhQwQ/go-merkledag"
23
logging "gx/ipfs/QmZChCsSt8DctjceaL56Eibc29CVQq4dGKRXC5JRZ6Ppae/go-log"
24
ipld "gx/ipfs/QmdDXJs4axxefSPgK6Y1QhpJWKuDPnGJiqgq4uncb4rFHL/go-ipld-format"
25
)
@@ -83,3 +86,9 @@ func (api *CoreAPI) Swarm() coreiface.SwarmAPI {
86
func (api *CoreAPI) PubSub() coreiface.PubSubAPI {
87
return (*PubSubAPI)(api)
88
}
89
+
90
+// getSession returns new api backed by the same node with a read-only session DAG
91
+func (api *CoreAPI) getSession(ctx context.Context) *CoreAPI {
92
+ ng := dag.NewReadOnlyDagService(dag.NewSession(ctx, api.dag))
93
+ return &CoreAPI{api.node, ng}
94
+}
\ No newline at end of file
core/coreapi/dag.go
+2
-2
@@ -31,7 +31,7 @@ type dagBatch struct {
31
func (api *DagAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.DagPutOption) (coreiface.ResolvedPath, error) {
32
nd, err := getNode(src, opts...)
33
34
- err = api.node.DAG.Add(ctx, nd)
34
+ err = api.dag.Add(ctx, nd)
35
if err != nil {
36
return nil, err
37
}
@@ -96,7 +96,7 @@ func (b *dagBatch) Commit(ctx context.Context) error {
96
b.toPut = nil
97
}()
98
99
- return b.api.node.DAG.AddMany(ctx, b.toPut)
99
+ return b.api.dag.AddMany(ctx, b.toPut)
100
}
101
102
func getNode(src io.Reader, opts ...caopts.DagPutOption) (ipld.Node, error) {
core/coreapi/object.go
+8
-8
@@ -50,7 +50,7 @@ func (api *ObjectAPI) New(ctx context.Context, opts ...caopts.ObjectNewOption) (
50
n = ft.EmptyDirNode()
51
}
52
53
- err = api.node.DAG.Add(ctx, n)
53
+ err = api.dag.Add(ctx, n)
54
if err != nil {
55
return nil, err
56
}
@@ -121,7 +121,7 @@ func (api *ObjectAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.Obj
121
defer api.node.Blockstore.PinLock().Unlock()
122
}
123
124
- err = api.node.DAG.Add(ctx, dagnode)
124
+ err = api.dag.Add(ctx, dagnode)
125
if err != nil {
126
return nil, err
127
}
@@ -219,14 +219,14 @@ func (api *ObjectAPI) AddLink(ctx context.Context, base coreiface.Path, name str
219
createfunc = ft.EmptyDirNode
220
}
221
222
- e := dagutils.NewDagEditor(basePb, api.node.DAG)
222
+ e := dagutils.NewDagEditor(basePb, api.dag)
223
224
err = e.InsertNodeAtPath(ctx, name, childNd, createfunc)
225
if err != nil {
226
return nil, err
227
}
228
229
- nnode, err := e.Finalize(ctx, api.node.DAG)
229
+ nnode, err := e.Finalize(ctx, api.dag)
230
if err != nil {
231
return nil, err
232
}
@@ -245,14 +245,14 @@ func (api *ObjectAPI) RmLink(ctx context.Context, base coreiface.Path, link stri
245
return nil, dag.ErrNotProtobuf
246
}
247
248
- e := dagutils.NewDagEditor(basePb, api.node.DAG)
248
+ e := dagutils.NewDagEditor(basePb, api.dag)
249
250
err = e.RmLink(ctx, link)
251
if err != nil {
252
return nil, err
253
}
254
255
- nnode, err := e.Finalize(ctx, api.node.DAG)
255
+ nnode, err := e.Finalize(ctx, api.dag)
256
if err != nil {
257
return nil, err
258
}
@@ -289,7 +289,7 @@ func (api *ObjectAPI) patchData(ctx context.Context, path coreiface.Path, r io.R
289
}
290
pbnd.SetData(data)
291
292
- err = api.node.DAG.Add(ctx, pbnd)
292
+ err = api.dag.Add(ctx, pbnd)
293
if err != nil {
294
return nil, err
295
}
@@ -308,7 +308,7 @@ func (api *ObjectAPI) Diff(ctx context.Context, before coreiface.Path, after cor
308
return nil, err
309
}
310
311
- changes, err := dagutils.Diff(ctx, api.node.DAG, beforeNd, afterNd)
311
+ changes, err := dagutils.Diff(ctx, api.dag, beforeNd, afterNd)
312
if err != nil {
313
return nil, err
314
}
core/coreapi/path.go
+2
-8
@@ -9,7 +9,6 @@ import (
9
coreiface "github.com/ipfs/go-ipfs/core/coreapi/interface"
10
11
"gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
12
- dag "gx/ipfs/QmVvNkTCx8V9Zei8xuTYTBdUXmbnDRS4iNuw1SztYyhQwQ/go-merkledag"
12
uio "gx/ipfs/QmWE6Ftsk98cG2MTVgH4wJT8VP2nL9TuBkYTrz9GSqcsh5/go-unixfs/io"
13
ipld "gx/ipfs/QmdDXJs4axxefSPgK6Y1QhpJWKuDPnGJiqgq4uncb4rFHL/go-ipld-format"
14
ipfspath "gx/ipfs/QmdrpbDgeYH3VxkCciQCJY5LkDYdXtig6unDzQmMxFtWEw/go-path"
@@ -24,7 +23,7 @@ func (api *CoreAPI) ResolveNode(ctx context.Context, p coreiface.Path) (ipld.Nod
23
return nil, err
24
}
25
27
- node, err := api.node.DAG.Get(ctx, rp.Cid())
26
+ node, err := api.dag.Get(ctx, rp.Cid())
27
if err != nil {
28
return nil, err
29
}
@@ -58,7 +57,7 @@ func (api *CoreAPI) ResolvePath(ctx context.Context, p coreiface.Path) (coreifac
57
}
58
59
r := &resolver.Resolver{
61
- DAG: api.node.DAG,
60
+ DAG: api.dag,
61
ResolveOnce: resolveOnce,
62
}
63
@@ -74,8 +73,3 @@ func (api *CoreAPI) ResolvePath(ctx context.Context, p coreiface.Path) (coreifac
73
74
return coreiface.NewResolvedPath(ipath, node, root, gopath.Join(rest...)), nil
75
}
77
-
78
-func (api *CoreAPI) getSession(ctx context.Context) *CoreAPI {
79
- ng := dag.NewReadOnlyDagService(dag.NewSession(ctx, api.dag))
80
- return &CoreAPI{api.node, ng}
81
-}
core/coreapi/pin.go
+1
-1
@@ -193,7 +193,7 @@ func (api *PinAPI) pinLsAll(typeStr string, ctx context.Context) ([]coreiface.Pi
193
if typeStr == "indirect" || typeStr == "all" {
194
set := cid.NewSet()
195
for _, k := range api.node.Pinning.RecursiveKeys() {
196
- err := merkledag.EnumerateChildren(ctx, merkledag.GetLinksWithDAG(api.node.DAG), k, set.Visit)
196
+ err := merkledag.EnumerateChildren(ctx, merkledag.GetLinksWithDAG(api.dag), k, set.Visit)
197
if err != nil {
198
return nil, err
199
}
core/coreapi/unixfs.go
+1
-1
@@ -153,7 +153,7 @@ func (api *UnixfsAPI) Ls(ctx context.Context, p coreiface.Path) ([]*ipld.Link, e
153
}
154
155
var ndlinks []*ipld.Link
156
- dir, err := uio.NewDirectoryFromNode(api.node.DAG, dagnode)
156
+ dir, err := uio.NewDirectoryFromNode(api.dag, dagnode)
157
switch err {
158
case nil:
159
l, err := dir.Links(ctx)