@cryptotaxi247 / kubo / commits / e49df7bf9

pinner now requires all nodes exist in blockstore

Jeromy committed Feb 18, 2015 at 09:29 UTC e49df7bf9f867c10f45bfca361856136a3048c20
2 files changed +17 -2
pin/pin.go
-1
@@ -175,7 +175,6 @@ func (p *pinner) pinLinks(node *mdag.Node) error {
175 ctx, _ := context.WithTimeout(context.Background(), time.Second*60)
176 for _, ng := range p.dserv.GetDAG(ctx, node) {
177 subnode, err := ng.Get()
178 - //subnode, err := l.GetNode(p.dserv)
178 if err != nil {
179 // TODO: Maybe just log and continue?
180 return err
pin/pin_test.go
+17 -1
@@ -34,6 +34,10 @@ func TestPinnerBasic(t *testing.T) {
34 p := NewPinner(dstore, dserv)
35
36 a, ak := randNode()
37 + _, err = dserv.Add(a)
38 + if err != nil {
39 + t.Fatal(err)
40 + }
41
42 // Pin A{}
43 err = p.Pin(a, false)
@@ -45,18 +49,30 @@ func TestPinnerBasic(t *testing.T) {
49 t.Fatal("Failed to find key")
50 }
51
52 + // create new node c, to be indirectly pinned through b
53 + c, ck := randNode()
54 + _, err = dserv.Add(c)
55 + if err != nil {
56 + t.Fatal(err)
57 + }
58 +
59 + // Create new node b, to be parent to a and c
60 b, _ := randNode()
61 err = b.AddNodeLink("child", a)
62 if err != nil {
63 t.Fatal(err)
64 }
65
54 - c, ck := randNode()
66 err = b.AddNodeLink("otherchild", c)
67 if err != nil {
68 t.Fatal(err)
69 }
70
71 + _, err = dserv.Add(b)
72 + if err != nil {
73 + t.Fatal(err)
74 + }
75 +
76 // recursively pin B{A,C}
77 err = p.Pin(b, true)
78 if err != nil {