func TestBuilderConsistency(t *testing.T) { nbytes := 100000 buf := new(bytes.Buffer) 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) } r, err := uio.NewDagReader(nd, dagserv) if err != nil { t.Fatal(err) } out, err := ioutil.ReadAll(r) if err != nil { t.Fatal(err) } err = arrComp(out, should) if err != nil { t.Fatal(err) } }
// ReadAll reads the object data as file data func (s *Node) ReadAll(intr fs.Intr) ([]byte, fuse.Error) { log.Debug("Read node.") r, err := uio.NewDagReader(s.Nd, s.Ipfs.DAG) if err != nil { return nil, err } // this is a terrible function... 'ReadAll'? // what if i have a 6TB file? GG RAM. return ioutil.ReadAll(r) }
func cat(node *core.IpfsNode, paths []string) ([]io.Reader, error) { readers := make([]io.Reader, 0, len(paths)) for _, path := range paths { dagnode, err := node.Resolver.ResolvePath(path) if err != nil { return nil, err } read, err := uio.NewDagReader(dagnode, node.DAG) if err != nil { return nil, err } readers = append(readers, read) } return readers, nil }
// ReadAll reads the object data as file data func (s *Node) ReadAll(intr fs.Intr) ([]byte, fuse.Error) { log.Debugf("ipns: ReadAll [%s]", s.name) r, err := uio.NewDagReader(s.Nd, s.Ipfs.DAG) if err != nil { return nil, err } // this is a terrible function... 'ReadAll'? // what if i have a 6TB file? GG RAM. b, err := ioutil.ReadAll(r) if err != nil { log.Errorf("[%s] Readall error: %s", s.name, err) return nil, err } return b, nil }
func testFileConsistency(t *testing.T, bs chunk.BlockSplitter, nbytes int) { buf := new(bytes.Buffer) io.CopyN(buf, rand.Reader, int64(nbytes)) should := dup(buf.Bytes()) nd, err := NewDagFromReaderWithSplitter(buf, bs) if err != nil { t.Fatal(err) } r, err := uio.NewDagReader(nd, nil) if err != nil { t.Fatal(err) } out, err := ioutil.ReadAll(r) if err != nil { t.Fatal(err) } err = arrComp(out, should) if err != nil { t.Fatal(err) } }