MCPcopy Index your code
hub / github.com/OpenListTeam/OpenList / RangeRead

Method RangeRead

internal/stream/stream.go:275–285  ·  view source on GitHub ↗

如果使用缓存或者rangeReader读取指定范围的数据,是线程安全的 其他特性继承自FileStream.RangeRead

(httpRange http_range.Range)

Source from the content-addressed store, hash-verified

273// 如果使用缓存或者rangeReader读取指定范围的数据,是线程安全的
274// 其他特性继承自FileStream.RangeRead
275func (ss *SeekableStream) RangeRead(httpRange http_range.Range) (io.Reader, error) {
276 if ss.GetFile() == nil && ss.rangeReader != nil {
277 rc, err := ss.rangeReader.RangeRead(ss.Ctx, httpRange)
278 if err != nil {
279 return nil, err
280 }
281 ss.Add(rc)
282 return rc, nil
283 }
284 return ss.FileStream.RangeRead(httpRange)
285}
286
287// only provide Reader as full stream when it's demanded. in rapid-upload, we can skip this to save memory
288func (ss *SeekableStream) Read(p []byte) (n int, err error) {

Callers

nothing calls this directly

Calls 3

GetFileMethod · 0.65
RangeReadMethod · 0.65
AddMethod · 0.65

Tested by

no test coverage detected