1
0
mirror of https://github.com/rclone/rclone.git synced 2025-12-15 15:53:41 +00:00

cache: plex integration, refactor chunk storage and worker retries (#1899)

This commit is contained in:
remusb
2017-12-09 23:54:26 +02:00
committed by GitHub
parent b05e472d2e
commit b48b537325
14 changed files with 781 additions and 652 deletions

14
cache/object.go vendored
View File

@@ -1,4 +1,4 @@
// +build !plan9
// +build !plan9,go1.7
package cache
@@ -205,16 +205,18 @@ func (o *Object) Open(options ...fs.OpenOption) (io.ReadCloser, error) {
if err := o.refreshFromSource(); err != nil {
return nil, err
}
o.CacheFs.CheckIfWarmupNeeded(o.Remote())
var err error
cacheReader := NewObjectHandle(o)
for _, option := range options {
switch x := option.(type) {
case *fs.SeekOption:
_, err := cacheReader.Seek(x.Offset, os.SEEK_SET)
if err != nil {
return cacheReader, err
}
_, err = cacheReader.Seek(x.Offset, os.SEEK_SET)
case *fs.RangeOption:
_, err = cacheReader.Seek(x.Start, os.SEEK_SET)
}
if err != nil {
return cacheReader, err
}
}