MCPcopy Create free account
hub / github.com/MG-RAST/Shock / Read

Method Read

shock-server/node/file/file.go:104–118  ·  view source on GitHub ↗

Read same as io.MultiReader

(p []byte)

Source from the content-addressed store, hash-verified

102
103// Read same as io.MultiReader
104func (mr *multiReaderAt) Read(p []byte) (n int, err error) {
105 for len(mr.readers) > 0 {
106 n, err = mr.readers[0].Read(p)
107 if n > 0 || err != io.EOF {
108 if err == io.EOF {
109 // Don't return EOF yet. There may be more bytes
110 // in the remaining readers.
111 err = nil
112 }
113 return
114 }
115 mr.readers = mr.readers[1:]
116 }
117 return 0, io.EOF
118}
119
120// ReadAt is the magic sauce. Heavily commented to include all logic.
121func (mr *multiReaderAt) ReadAt(p []byte, off int64) (n int, err error) {

Callers

nothing calls this directly

Calls 1

ReadMethod · 0.65

Tested by

no test coverage detected