github.com/scottcagno/storage@v1.8.0/pkg/_bio/block.go (about) 1 package _bio 2 3 import ( 4 "errors" 5 "io" 6 ) 7 8 const ( 9 blockSize = 16 10 chunkSize = 16 * blockSize 11 ) 12 13 type block [blockSize]byte 14 type chunk [chunkSize]byte 15 16 var ( 17 ErrNilPointer = errors.New("nil pointer") 18 ErrBadSize = errors.New("bad size") 19 ) 20 21 type blockReader struct { 22 io.ReadWriteSeeker 23 } 24 25 func newBlockReader(writer io.ReadWriteSeeker) *blockReader { 26 return &blockReader{} 27 } 28 29 func (br *blockReader) Read(p []byte) (int, error) { 30 if p == nil { 31 return -1, ErrNilPointer 32 } 33 if len(p) != blockSize { 34 return -1, ErrBadSize 35 } 36 // ?? 37 return 0, nil 38 } 39 40 func (br *blockReader) Write(p []byte) (int, error) { 41 return 0, nil 42 } 43 44 func (br *blockReader) Seek(off int64, whence int) (int64, error) { 45 return 0, nil 46 }