@cryptotaxi247 / kubo / commits / 6ceb9373c

dagreader: remove `Offset()` method

Remove `Offset()` from the `DagReader` interface. It's not part of the Unix API and it wasn't used anywhere except for the tests (a helper function was added to replace it). License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>

Lucas Molas committed Jul 4, 2018 at 23:51 UTC 6ceb9373c6739df8c64e2eeb4248078ff3dd4e85
5 files changed +25 -25
unixfs/io/bufdagreader.go
-10
@@ -3,7 +3,6 @@ package io
3 import (
4 "bytes"
5 "context"
6 - "io"
6 )
7
8 // BufDagReader implements a DagReader that reads from a byte slice
@@ -30,15 +29,6 @@ func (rd *BufDagReader) CtxReadFull(ctx context.Context, b []byte) (int, error)
29 return rd.Read(b)
30 }
31
33 -// Offset returns the current offset.
34 -func (rd *BufDagReader) Offset() int64 {
35 - of, err := rd.Seek(0, io.SeekCurrent)
36 - if err != nil {
37 - panic("this should never happen " + err.Error())
38 - }
39 - return of
40 -}
41 -
32 // Size returns the size of the buffer.
33 func (rd *BufDagReader) Size() uint64 {
34 s := rd.Reader.Size()
unixfs/io/dagreader.go
-1
@@ -27,7 +27,6 @@ type DagReader interface {
27 ReadSeekCloser
28 Size() uint64
29 CtxReadFull(context.Context, []byte) (int, error)
30 - Offset() int64
30 }
31
32 // A ReadSeekCloser implements interfaces to read, copy, seek and close.
unixfs/io/dagreader_test.go
+16 -8
@@ -57,7 +57,7 @@ func TestSeekAndRead(t *testing.T) {
57 for i := 255; i >= 0; i-- {
58 reader.Seek(int64(i), io.SeekStart)
59
60 - if reader.Offset() != int64(i) {
60 + if getOffset(reader) != int64(i) {
61 t.Fatal("expected offset to be increased by one after read")
62 }
63
@@ -67,7 +67,7 @@ func TestSeekAndRead(t *testing.T) {
67 t.Fatalf("read %d at index %d, expected %d", out, i, i)
68 }
69
70 - if reader.Offset() != int64(i+1) {
70 + if getOffset(reader) != int64(i+1) {
71 t.Fatal("expected offset to be increased by one after read")
72 }
73 }
@@ -142,12 +142,12 @@ func TestRelativeSeek(t *testing.T) {
142 }
143
144 for i := 0; i < 256; i++ {
145 - if reader.Offset() != int64(i*4) {
146 - t.Fatalf("offset should be %d, was %d", i*4, reader.Offset())
145 + if getOffset(reader) != int64(i*4) {
146 + t.Fatalf("offset should be %d, was %d", i*4, getOffset(reader))
147 }
148 out := readByte(t, reader)
149 if int(out) != i {
150 - t.Fatalf("expected to read: %d at %d, read %d", i, reader.Offset()-1, out)
150 + t.Fatalf("expected to read: %d at %d, read %d", i, getOffset(reader)-1, out)
151 }
152 if i != 255 {
153 _, err := reader.Seek(3, io.SeekCurrent)
@@ -163,12 +163,12 @@ func TestRelativeSeek(t *testing.T) {
163 }
164
165 for i := 0; i < 256; i++ {
166 - if reader.Offset() != int64(1020-i*4) {
167 - t.Fatalf("offset should be %d, was %d", 1020-i*4, reader.Offset())
166 + if getOffset(reader) != int64(1020-i*4) {
167 + t.Fatalf("offset should be %d, was %d", 1020-i*4, getOffset(reader))
168 }
169 out := readByte(t, reader)
170 if int(out) != 255-i {
171 - t.Fatalf("expected to read: %d at %d, read %d", 255-i, reader.Offset()-1, out)
171 + t.Fatalf("expected to read: %d at %d, read %d", 255-i, getOffset(reader)-1, out)
172 }
173 reader.Seek(-5, io.SeekCurrent) // seek 4 bytes but we read one byte every time so 5 bytes
174 }
@@ -302,3 +302,11 @@ func readByte(t testing.TB, reader DagReader) byte {
302
303 return out[0]
304 }
305 +
306 +func getOffset(reader DagReader) int64 {
307 + offset, err := reader.Seek(0, io.SeekCurrent)
308 + if err != nil {
309 + panic("failed to retrieve offset: " + err.Error())
310 + }
311 + return offset
312 +}
unixfs/io/pbdagreader.go
-5
@@ -225,11 +225,6 @@ func (dr *PBDagReader) Close() error {
225 return nil
226 }
227
228 -// Offset returns the current reader offset
229 -func (dr *PBDagReader) Offset() int64 {
230 - return dr.offset
231 -}
232 -
228 // Seek implements io.Seeker, and will seek to a given offset in the file
229 // interface matches standard unix seek
230 // TODO: check if we can do relative seeks, to reduce the amount of dagreader
unixfs/mod/dagmodifier_test.go
+9 -1
@@ -663,7 +663,7 @@ func testReadAndSeek(t *testing.T, opts testu.NodeOpts) {
663 // skip 4
664 _, err = dagmod.Seek(1, io.SeekCurrent)
665 if err != nil {
666 - t.Fatalf("error: %s, offset %d, reader offset %d", err, dagmod.curWrOff, dagmod.read.Offset())
666 + t.Fatalf("error: %s, offset %d, reader offset %d", err, dagmod.curWrOff, getOffset(dagmod.read))
667 }
668
669 //read 5,6,7
@@ -750,3 +750,11 @@ func BenchmarkDagmodWrite(b *testing.B) {
750 }
751 }
752 }
753 +
754 +func getOffset(reader uio.DagReader) int64 {
755 + offset, err := reader.Seek(0, io.SeekCurrent)
756 + if err != nil {
757 + panic("failed to retrieve offset: " + err.Error())
758 + }
759 + return offset
760 +}