From e9779b1c7faef3f376dc13620ecd411aba9cf143 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Fri, 31 Oct 2014 05:57:47 +0000 Subject: [PATCH] address comments from PR --- importer/importer.go | 9 ++++++--- importer/importer_test.go | 14 ++++---------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/importer/importer.go b/importer/importer.go index ac8fe03ca..774b16942 100644 --- a/importer/importer.go +++ b/importer/importer.go @@ -95,6 +95,8 @@ func BuildDagFromFile(fpath string, ds dag.DAGService, mp pin.ManualPinner) (*da func BuildDagFromReader(r io.Reader, ds dag.DAGService, mp pin.ManualPinner, spl chunk.BlockSplitter) (*dag.Node, error) { blkChan := spl.Split(r) + + // grab first block, it will go in the index MultiBlock (faster io) first := <-blkChan root := &dag.Node{} @@ -104,13 +106,14 @@ func BuildDagFromReader(r io.Reader, ds dag.DAGService, mp pin.ManualPinner, spl mbf.AddBlockSize(uint64(len(blk))) node := &dag.Node{Data: ft.WrapData(blk)} nk, err := ds.Add(node) - if mp != nil { - mp.PinWithMode(nk, pin.Indirect) - } if err != nil { return nil, err } + if mp != nil { + mp.PinWithMode(nk, pin.Indirect) + } + // Add a link to this node without storing a reference to the memory err = root.AddNodeLinkClean("", node) if err != nil { diff --git a/importer/importer_test.go b/importer/importer_test.go index 638ce9b8b..0b563a19c 100644 --- a/importer/importer_test.go +++ b/importer/importer_test.go @@ -9,11 +9,10 @@ import ( "os" "testing" - ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore" - bsrv "github.com/jbenet/go-ipfs/blockservice" "github.com/jbenet/go-ipfs/importer/chunk" - dag "github.com/jbenet/go-ipfs/merkledag" uio "github.com/jbenet/go-ipfs/unixfs/io" + u "github.com/jbenet/go-ipfs/util" + "github.com/jbenet/go-ipfs/util/testutil" ) // NOTE: @@ -82,15 +81,10 @@ func testFileConsistency(t *testing.T, bs chunk.BlockSplitter, nbytes int) { func TestBuilderConsistency(t *testing.T) { nbytes := 100000 - dstore := ds.NewMapDatastore() - bserv, err := bsrv.NewBlockService(dstore, nil) - if err != nil { - t.Fatal(err) - } - dagserv := dag.NewDAGService(bserv) buf := new(bytes.Buffer) - io.CopyN(buf, rand.Reader, int64(nbytes)) + io.CopyN(buf, u.NewTimeSeededRand(), int64(nbytes)) should := dup(buf.Bytes()) + dagserv := testutil.GetDAGServ(t) nd, err := BuildDagFromReader(buf, dagserv, nil, chunk.DefaultSplitter) if err != nil { t.Fatal(err)