提交 e9779b1c 作者: Jeromy

address comments from PR

上级 ae339a03
...@@ -95,6 +95,8 @@ func BuildDagFromFile(fpath string, ds dag.DAGService, mp pin.ManualPinner) (*da ...@@ -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) { func BuildDagFromReader(r io.Reader, ds dag.DAGService, mp pin.ManualPinner, spl chunk.BlockSplitter) (*dag.Node, error) {
blkChan := spl.Split(r) blkChan := spl.Split(r)
// grab first block, it will go in the index MultiBlock (faster io)
first := <-blkChan first := <-blkChan
root := &dag.Node{} root := &dag.Node{}
...@@ -104,13 +106,14 @@ func BuildDagFromReader(r io.Reader, ds dag.DAGService, mp pin.ManualPinner, spl ...@@ -104,13 +106,14 @@ func BuildDagFromReader(r io.Reader, ds dag.DAGService, mp pin.ManualPinner, spl
mbf.AddBlockSize(uint64(len(blk))) mbf.AddBlockSize(uint64(len(blk)))
node := &dag.Node{Data: ft.WrapData(blk)} node := &dag.Node{Data: ft.WrapData(blk)}
nk, err := ds.Add(node) nk, err := ds.Add(node)
if mp != nil {
mp.PinWithMode(nk, pin.Indirect)
}
if err != nil { if err != nil {
return nil, err return nil, err
} }
if mp != nil {
mp.PinWithMode(nk, pin.Indirect)
}
// Add a link to this node without storing a reference to the memory // Add a link to this node without storing a reference to the memory
err = root.AddNodeLinkClean("", node) err = root.AddNodeLinkClean("", node)
if err != nil { if err != nil {
......
...@@ -9,11 +9,10 @@ import ( ...@@ -9,11 +9,10 @@ import (
"os" "os"
"testing" "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" "github.com/jbenet/go-ipfs/importer/chunk"
dag "github.com/jbenet/go-ipfs/merkledag"
uio "github.com/jbenet/go-ipfs/unixfs/io" uio "github.com/jbenet/go-ipfs/unixfs/io"
u "github.com/jbenet/go-ipfs/util"
"github.com/jbenet/go-ipfs/util/testutil"
) )
// NOTE: // NOTE:
...@@ -82,15 +81,10 @@ func testFileConsistency(t *testing.T, bs chunk.BlockSplitter, nbytes int) { ...@@ -82,15 +81,10 @@ func testFileConsistency(t *testing.T, bs chunk.BlockSplitter, nbytes int) {
func TestBuilderConsistency(t *testing.T) { func TestBuilderConsistency(t *testing.T) {
nbytes := 100000 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) buf := new(bytes.Buffer)
io.CopyN(buf, rand.Reader, int64(nbytes)) io.CopyN(buf, u.NewTimeSeededRand(), int64(nbytes))
should := dup(buf.Bytes()) should := dup(buf.Bytes())
dagserv := testutil.GetDAGServ(t)
nd, err := BuildDagFromReader(buf, dagserv, nil, chunk.DefaultSplitter) nd, err := BuildDagFromReader(buf, dagserv, nil, chunk.DefaultSplitter)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论