mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-12 22:26:49 +08:00
Golint: make BufDagReader public
License: MIT Signed-off-by: Hector Sanjuan <hector@protocol.ai>
This commit is contained in:
@ -6,27 +6,32 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
)
|
)
|
||||||
|
|
||||||
type bufDagReader struct {
|
// BufDagReader implements a DagReader that reads from a byte slice
|
||||||
|
// using a bytes.Reader. It is used for RawNodes.
|
||||||
|
type BufDagReader struct {
|
||||||
*bytes.Reader
|
*bytes.Reader
|
||||||
}
|
}
|
||||||
|
|
||||||
// newBufDagReader returns a DAG reader for the given byte slice.
|
// NewBufDagReader returns a DAG reader for the given byte slice.
|
||||||
// BufDagReader is used to read RawNodes.
|
// BufDagReader is used to read RawNodes.
|
||||||
func newBufDagReader(b []byte) *bufDagReader {
|
func NewBufDagReader(b []byte) *BufDagReader {
|
||||||
return &bufDagReader{bytes.NewReader(b)}
|
return &BufDagReader{bytes.NewReader(b)}
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ DagReader = (*bufDagReader)(nil)
|
var _ DagReader = (*BufDagReader)(nil)
|
||||||
|
|
||||||
func (*bufDagReader) Close() error {
|
// Close is a nop.
|
||||||
|
func (*BufDagReader) Close() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rd *bufDagReader) CtxReadFull(ctx context.Context, b []byte) (int, error) {
|
// CtxReadFull reads the slice onto b.
|
||||||
|
func (rd *BufDagReader) CtxReadFull(ctx context.Context, b []byte) (int, error) {
|
||||||
return rd.Read(b)
|
return rd.Read(b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rd *bufDagReader) Offset() int64 {
|
// Offset returns the current offset.
|
||||||
|
func (rd *BufDagReader) Offset() int64 {
|
||||||
of, err := rd.Seek(0, io.SeekCurrent)
|
of, err := rd.Seek(0, io.SeekCurrent)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic("this should never happen " + err.Error())
|
panic("this should never happen " + err.Error())
|
||||||
@ -34,7 +39,8 @@ func (rd *bufDagReader) Offset() int64 {
|
|||||||
return of
|
return of
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rd *bufDagReader) Size() uint64 {
|
// Size returns the size of the buffer.
|
||||||
|
func (rd *BufDagReader) Size() uint64 {
|
||||||
s := rd.Reader.Size()
|
s := rd.Reader.Size()
|
||||||
if s < 0 {
|
if s < 0 {
|
||||||
panic("size smaller than 0 (impossible!!)")
|
panic("size smaller than 0 (impossible!!)")
|
||||||
|
@ -43,7 +43,7 @@ type ReadSeekCloser interface {
|
|||||||
func NewDagReader(ctx context.Context, n ipld.Node, serv ipld.NodeGetter) (DagReader, error) {
|
func NewDagReader(ctx context.Context, n ipld.Node, serv ipld.NodeGetter) (DagReader, error) {
|
||||||
switch n := n.(type) {
|
switch n := n.(type) {
|
||||||
case *mdag.RawNode:
|
case *mdag.RawNode:
|
||||||
return newBufDagReader(n.RawData()), nil
|
return NewBufDagReader(n.RawData()), nil
|
||||||
case *mdag.ProtoNode:
|
case *mdag.ProtoNode:
|
||||||
pb := new(ftpb.Data)
|
pb := new(ftpb.Data)
|
||||||
if err := proto.Unmarshal(n.Data(), pb); err != nil {
|
if err := proto.Unmarshal(n.Data(), pb); err != nil {
|
||||||
|
@ -57,7 +57,7 @@ func NewPBFileReader(ctx context.Context, n *mdag.ProtoNode, pb *ftpb.Data, serv
|
|||||||
return &PBDagReader{
|
return &PBDagReader{
|
||||||
node: n,
|
node: n,
|
||||||
serv: serv,
|
serv: serv,
|
||||||
buf: newBufDagReader(pb.GetData()),
|
buf: NewBufDagReader(pb.GetData()),
|
||||||
promises: make([]*ipld.NodePromise, len(curLinks)),
|
promises: make([]*ipld.NodePromise, len(curLinks)),
|
||||||
links: curLinks,
|
links: curLinks,
|
||||||
ctx: fctx,
|
ctx: fctx,
|
||||||
@ -119,7 +119,7 @@ func (dr *PBDagReader) precalcNextBuf(ctx context.Context) error {
|
|||||||
dr.buf = NewPBFileReader(dr.ctx, nxt, pb, dr.serv)
|
dr.buf = NewPBFileReader(dr.ctx, nxt, pb, dr.serv)
|
||||||
return nil
|
return nil
|
||||||
case ftpb.Data_Raw:
|
case ftpb.Data_Raw:
|
||||||
dr.buf = newBufDagReader(pb.GetData())
|
dr.buf = NewBufDagReader(pb.GetData())
|
||||||
return nil
|
return nil
|
||||||
case ftpb.Data_Metadata:
|
case ftpb.Data_Metadata:
|
||||||
return errors.New("shouldnt have had metadata object inside file")
|
return errors.New("shouldnt have had metadata object inside file")
|
||||||
@ -256,7 +256,7 @@ func (dr *PBDagReader) Seek(offset int64, whence int) (int64, error) {
|
|||||||
if dr.buf != nil {
|
if dr.buf != nil {
|
||||||
dr.buf.Close()
|
dr.buf.Close()
|
||||||
}
|
}
|
||||||
dr.buf = newBufDagReader(pb.GetData()[offset:])
|
dr.buf = NewBufDagReader(pb.GetData()[offset:])
|
||||||
|
|
||||||
// start reading links from the beginning
|
// start reading links from the beginning
|
||||||
dr.linkPosition = 0
|
dr.linkPosition = 0
|
||||||
|
Reference in New Issue
Block a user