Remove NewRSNCFromBytes and use NewDagReader for recursive reading
License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
Jakub Sztandera committed
Nov 22, 2016 at 19:10 UTC
1fd99dae50dff44d81d42582b49c9d5b5e3238c8
1 file changed
+6
-18
unixfs/io/pbdagreader.go
+6
-18
@@ -1,7 +1,6 @@
1
package io
2
3
import (
4
- "bytes"
4
"context"
5
"errors"
6
"fmt"
@@ -53,7 +52,7 @@ func NewPBFileReader(ctx context.Context, n *mdag.ProtoNode, pb *ftpb.Data, serv
52
return &pbDagReader{
53
node: n,
54
serv: serv,
56
- buf: NewRSNCFromBytes(pb.GetData()),
55
+ buf: NewBufDagReader(pb.GetData()),
56
promises: promises,
57
ctx: fctx,
58
cancel: cancel,
@@ -91,7 +90,7 @@ func (dr *pbDagReader) precalcNextBuf(ctx context.Context) error {
90
dr.buf = NewPBFileReader(dr.ctx, nxt, pb, dr.serv)
91
return nil
92
case ftpb.Data_Raw:
94
- dr.buf = NewRSNCFromBytes(pb.GetData())
93
+ dr.buf = NewBufDagReader(pb.GetData())
94
return nil
95
case ftpb.Data_Metadata:
96
return errors.New("shouldnt have had metadata object inside file")
@@ -100,11 +99,10 @@ func (dr *pbDagReader) precalcNextBuf(ctx context.Context) error {
99
default:
100
return ft.ErrUnrecognizedType
101
}
103
- case *mdag.RawNode:
104
- dr.buf = NewRSNCFromBytes(nxt.RawData())
105
- return nil
102
default:
107
- return errors.New("unrecognized node type in pbDagReader")
103
+ var err error
104
+ dr.buf, err = NewDagReader(ctx, nxt, dr.serv)
105
+ return err
106
}
107
}
108
@@ -200,7 +198,7 @@ func (dr *pbDagReader) Seek(offset int64, whence int) (int64, error) {
198
if int64(len(pb.Data)) >= offset {
199
// Close current buf to close potential child dagreader
200
dr.buf.Close()
203
- dr.buf = NewRSNCFromBytes(pb.GetData()[offset:])
201
+ dr.buf = NewBufDagReader(pb.GetData()[offset:])
202
203
// start reading links from the beginning
204
dr.linkPosition = 0
@@ -252,13 +250,3 @@ func (dr *pbDagReader) Seek(offset int64, whence int) (int64, error) {
250
}
251
}
252
255
-// readSeekNopCloser wraps a bytes.Reader to implement ReadSeekCloser
256
-type readSeekNopCloser struct {
257
- *bytes.Reader
258
-}
259
-
260
-func NewRSNCFromBytes(b []byte) ReadSeekCloser {
261
- return &readSeekNopCloser{bytes.NewReader(b)}
262
-}
263
-
264
-func (r *readSeekNopCloser) Close() error { return nil }