address comments from PR
Jeromy committed
Oct 31, 2014 at 05:57 UTC
e9779b1c7faef3f376dc13620ecd411aba9cf143
2 files changed
+10
-13
importer/importer.go
+6
-3
@@ -95,6 +95,8 @@ func BuildDagFromFile(fpath string, ds dag.DAGService, mp pin.ManualPinner) (*da
95
96
func BuildDagFromReader(r io.Reader, ds dag.DAGService, mp pin.ManualPinner, spl chunk.BlockSplitter) (*dag.Node, error) {
97
blkChan := spl.Split(r)
98
+
99
+ // grab first block, it will go in the index MultiBlock (faster io)
100
first := <-blkChan
101
root := &dag.Node{}
102
@@ -104,13 +106,14 @@ func BuildDagFromReader(r io.Reader, ds dag.DAGService, mp pin.ManualPinner, spl
106
mbf.AddBlockSize(uint64(len(blk)))
107
node := &dag.Node{Data: ft.WrapData(blk)}
108
nk, err := ds.Add(node)
107
- if mp != nil {
108
- mp.PinWithMode(nk, pin.Indirect)
109
- }
109
if err != nil {
110
return nil, err
111
}
112
113
+ if mp != nil {
114
+ mp.PinWithMode(nk, pin.Indirect)
115
+ }
116
+
117
// Add a link to this node without storing a reference to the memory
118
err = root.AddNodeLinkClean("", node)
119
if err != nil {
importer/importer_test.go
+4
-10
@@ -9,11 +9,10 @@ import (
9
"os"
10
"testing"
11
12
- ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore"
13
- bsrv "github.com/jbenet/go-ipfs/blockservice"
12
"github.com/jbenet/go-ipfs/importer/chunk"
15
- dag "github.com/jbenet/go-ipfs/merkledag"
13
uio "github.com/jbenet/go-ipfs/unixfs/io"
14
+ u "github.com/jbenet/go-ipfs/util"
15
+ "github.com/jbenet/go-ipfs/util/testutil"
16
)
17
18
// NOTE:
@@ -82,15 +81,10 @@ func testFileConsistency(t *testing.T, bs chunk.BlockSplitter, nbytes int) {
81
82
func TestBuilderConsistency(t *testing.T) {
83
nbytes := 100000
85
- dstore := ds.NewMapDatastore()
86
- bserv, err := bsrv.NewBlockService(dstore, nil)
87
- if err != nil {
88
- t.Fatal(err)
89
- }
90
- dagserv := dag.NewDAGService(bserv)
84
buf := new(bytes.Buffer)
92
- io.CopyN(buf, rand.Reader, int64(nbytes))
85
+ io.CopyN(buf, u.NewTimeSeededRand(), int64(nbytes))
86
should := dup(buf.Bytes())
87
+ dagserv := testutil.GetDAGServ(t)
88
nd, err := BuildDagFromReader(buf, dagserv, nil, chunk.DefaultSplitter)
89
if err != nil {
90
t.Fatal(err)