提交 8a21af09 作者: Jeromy

add basic test for blocks package #59

上级 3261ce2d
...@@ -5,8 +5,7 @@ import ( ...@@ -5,8 +5,7 @@ import (
u "github.com/jbenet/go-ipfs/util" u "github.com/jbenet/go-ipfs/util"
) )
// Block is the ipfs blocks service. It is the way // Block is a singular block of data in ipfs
// to retrieve blocks by the higher level ipfs modules
type Block struct { type Block struct {
Multihash mh.Multihash Multihash mh.Multihash
Data []byte Data []byte
......
...@@ -17,7 +17,6 @@ type DagReader struct { ...@@ -17,7 +17,6 @@ type DagReader struct {
node *Node node *Node
position int position int
buf *bytes.Buffer buf *bytes.Buffer
thisData []byte
} }
func NewDagReader(n *Node, serv *DAGService) (io.Reader, error) { func NewDagReader(n *Node, serv *DAGService) (io.Reader, error) {
...@@ -31,10 +30,9 @@ func NewDagReader(n *Node, serv *DAGService) (io.Reader, error) { ...@@ -31,10 +30,9 @@ func NewDagReader(n *Node, serv *DAGService) (io.Reader, error) {
return nil, ErrIsDir return nil, ErrIsDir
case PBData_File: case PBData_File:
return &DagReader{ return &DagReader{
node: n, node: n,
thisData: pb.GetData(), serv: serv,
serv: serv, buf: bytes.NewBuffer(pb.GetData()),
buf: bytes.NewBuffer(pb.GetData()),
}, nil }, nil
case PBData_Raw: case PBData_Raw:
return bytes.NewBuffer(pb.GetData()), nil return bytes.NewBuffer(pb.GetData()), nil
...@@ -63,12 +61,12 @@ func (dr *DagReader) precalcNextBuf() error { ...@@ -63,12 +61,12 @@ func (dr *DagReader) precalcNextBuf() error {
} }
dr.position++ dr.position++
// TODO: dont assume a single layer of indirection
switch pb.GetType() { switch pb.GetType() {
case PBData_Directory: case PBData_Directory:
panic("Why is there a directory under a file?") panic("Why is there a directory under a file?")
case PBData_File: case PBData_File:
//TODO: maybe have a PBData_Block type for indirect blocks? //TODO: this *should* work, needs testing first
//return NewDagReader(nxt, dr.serv)
panic("Not yet handling different layers of indirection!") panic("Not yet handling different layers of indirection!")
case PBData_Raw: case PBData_Raw:
dr.buf = bytes.NewBuffer(pb.GetData()) dr.buf = bytes.NewBuffer(pb.GetData())
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论