merkledag: Remove unused AddRecursive and RemoveRecursive
License: MIT Signed-off-by: Mildred Ki'Lya <mildred-pub.git@mildred.fr>
Mildred Ki'Lya committed
Feb 28, 2016 at 11:30 UTC
b3c9922c7b14757353dcdb2c1f4903e010682c91
6 files changed
+34
-86
core/corehttp/gateway_handler.go
+8
-4
@@ -453,16 +453,20 @@ func (i *gatewayHandler) deleteHandler(w http.ResponseWriter, r *http.Request) {
453
}
454
455
newnode := pathNodes[len(pathNodes)-1]
456
- for i := len(pathNodes) - 2; i >= 0; i-- {
457
- newnode, err = pathNodes[i].UpdateNodeLink(components[i], newnode)
456
+ for j := len(pathNodes) - 2; j >= 0; j-- {
457
+ if _, err := i.node.DAG.Add(newnode); err != nil {
458
+ webError(w, "Could not add node", err, http.StatusInternalServerError)
459
+ return
460
+ }
461
+ newnode, err = pathNodes[j].UpdateNodeLink(components[j], newnode)
462
if err != nil {
463
webError(w, "Could not update node links", err, http.StatusInternalServerError)
464
return
465
}
466
}
467
464
- if err := i.node.DAG.AddRecursive(newnode); err != nil {
465
- webError(w, "Could not add recursively new node", err, http.StatusInternalServerError)
468
+ if _, err := i.node.DAG.Add(newnode); err != nil {
469
+ webError(w, "Could not add root node", err, http.StatusInternalServerError)
470
return
471
}
472
core/corehttp/gateway_test.go
+15
-2
@@ -181,7 +181,12 @@ func TestIPNSHostnameRedirect(t *testing.T) {
181
t.Fatal(err)
182
}
183
184
- err = n.DAG.AddRecursive(dagn1)
184
+ _, err = n.DAG.Add(dagn2)
185
+ if err != nil {
186
+ t.Fatal(err)
187
+ }
188
+
189
+ _, err = n.DAG.Add(dagn1)
190
if err != nil {
191
t.Fatal(err)
192
}
@@ -266,7 +271,15 @@ func TestIPNSHostnameBacklinks(t *testing.T) {
271
t.Fatal(err)
272
}
273
269
- err = n.DAG.AddRecursive(dagn1)
274
+ _, err = n.DAG.Add(dagn3)
275
+ if err != nil {
276
+ t.Fatal(err)
277
+ }
278
+ _, err = n.DAG.Add(dagn2)
279
+ if err != nil {
280
+ t.Fatal(err)
281
+ }
282
+ _, err = n.DAG.Add(dagn1)
283
if err != nil {
284
t.Fatal(err)
285
}
merkledag/merkledag.go
-36
@@ -18,10 +18,8 @@ var ErrNotFound = fmt.Errorf("merkledag: not found")
18
// DAGService is an IPFS Merkle DAG service.
19
type DAGService interface {
20
Add(*Node) (key.Key, error)
21
- AddRecursive(*Node) error
21
Get(context.Context, key.Key) (*Node, error)
22
Remove(*Node) error
24
- RemoveRecursive(*Node) error
23
24
// GetDAG returns, in order, all the single leve child
25
// nodes of the passed in node.
@@ -68,26 +66,6 @@ func (n *dagService) Batch() *Batch {
66
return &Batch{ds: n, MaxSize: 8 * 1024 * 1024}
67
}
68
71
-// AddRecursive adds the given node and all child nodes to the BlockService
72
-func (n *dagService) AddRecursive(nd *Node) error {
73
- _, err := n.Add(nd)
74
- if err != nil {
75
- log.Info("AddRecursive Error: %s\n", err)
76
- return err
77
- }
78
-
79
- for _, link := range nd.Links {
80
- if link.node != nil {
81
- err := n.AddRecursive(link.node)
82
- if err != nil {
83
- return err
84
- }
85
- }
86
- }
87
-
88
- return nil
89
-}
90
-
69
// Get retrieves a node from the dagService, fetching the block in the BlockService
70
func (n *dagService) Get(ctx context.Context, k key.Key) (*Node, error) {
71
if n == nil {
@@ -107,20 +85,6 @@ func (n *dagService) Get(ctx context.Context, k key.Key) (*Node, error) {
85
return DecodeProtobuf(b.Data)
86
}
87
110
-// Remove deletes the given node and all of its children from the BlockService
111
-func (n *dagService) RemoveRecursive(nd *Node) error {
112
- for _, l := range nd.Links {
113
- if l.node != nil {
114
- n.RemoveRecursive(l.node)
115
- }
116
- }
117
- k, err := nd.Key()
118
- if err != nil {
119
- return err
120
- }
121
- return n.Blocks.DeleteBlock(k)
122
-}
123
-
88
func (n *dagService) Remove(nd *Node) error {
89
k, err := nd.Key()
90
if err != nil {
merkledag/merkledag_test.go
+1
-40
@@ -181,7 +181,7 @@ func runBatchFetchTest(t *testing.T, read io.Reader) {
181
t.Fatal(err)
182
}
183
184
- err = dagservs[0].AddRecursive(root)
184
+ _, err = dagservs[0].Add(root)
185
if err != nil {
186
t.Fatal(err)
187
}
@@ -232,45 +232,6 @@ func runBatchFetchTest(t *testing.T, read io.Reader) {
232
}
233
}
234
}
235
-func TestRecursiveAdd(t *testing.T) {
236
- a := &Node{Data: []byte("A")}
237
- b := &Node{Data: []byte("B")}
238
- c := &Node{Data: []byte("C")}
239
- d := &Node{Data: []byte("D")}
240
- e := &Node{Data: []byte("E")}
241
-
242
- err := a.AddNodeLink("blah", b)
243
- if err != nil {
244
- t.Fatal(err)
245
- }
246
-
247
- err = b.AddNodeLink("foo", c)
248
- if err != nil {
249
- t.Fatal(err)
250
- }
251
-
252
- err = b.AddNodeLink("bar", d)
253
- if err != nil {
254
- t.Fatal(err)
255
- }
256
-
257
- err = d.AddNodeLink("baz", e)
258
- if err != nil {
259
- t.Fatal(err)
260
- }
261
-
262
- dsp := getDagservAndPinner(t)
263
- err = dsp.ds.AddRecursive(a)
264
- if err != nil {
265
- t.Fatal(err)
266
- }
267
-
268
- assertCanGet(t, dsp.ds, a)
269
- assertCanGet(t, dsp.ds, b)
270
- assertCanGet(t, dsp.ds, c)
271
- assertCanGet(t, dsp.ds, d)
272
- assertCanGet(t, dsp.ds, e)
273
-}
235
236
func assertCanGet(t *testing.T, ds DAGService, n *Node) {
237
k, err := n.Key()
path/resolver_test.go
+5
-3
@@ -39,9 +39,11 @@ func TestRecurivePathResolution(t *testing.T) {
39
t.Fatal(err)
40
}
41
42
- err = dagService.AddRecursive(a)
43
- if err != nil {
44
- t.Fatal(err)
42
+ for _, n := range []*merkledag.Node{a, b, c} {
43
+ _, err = dagService.Add(n)
44
+ if err != nil {
45
+ t.Fatal(err)
46
+ }
47
}
48
49
aKey, err := a.Key()
pin/pin_test.go
+5
-1
@@ -104,7 +104,11 @@ func TestPinnerBasic(t *testing.T) {
104
d.AddNodeLink("e", e)
105
106
// Must be in dagserv for unpin to work
107
- err = dserv.AddRecursive(d)
107
+ _, err = dserv.Add(e)
108
+ if err != nil {
109
+ t.Fatal(err)
110
+ }
111
+ _, err = dserv.Add(d)
112
if err != nil {
113
t.Fatal(err)
114
}