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
+}