Versions in this module Expand all Collapse all v1 v1.48.0 Jun 15, 2019 v1.47.0 Apr 13, 2019 v1.46.0 Feb 9, 2019 Changes in this version type Options + PlexInsecure bool v1.43.1 Sep 7, 2018 Changes in this version + const BackgroundUploadCompleted + const BackgroundUploadError + const BackgroundUploadStarted + const DataTsBucket + const DefCacheChunkCleanInterval + const DefCacheChunkNoMemory + const DefCacheChunkSize + const DefCacheDbWaitTime + const DefCacheInfoAge + const DefCacheReadRetries + const DefCacheRps + const DefCacheTmpWaitTime + const DefCacheTotalChunkSize + const DefCacheTotalWorkers + const DefCacheWrites + const RootBucket + const RootTsBucket + func NewFs(name, rootPath string, m configmap.Mapper) (fs.Fs, error) + type BackgroundUploadState struct + Error error + Remote string + Status int + type Directory struct + CacheFs *Fs + CacheItems int64 + CacheModTime int64 + CacheSize int64 + CacheTs *time.Time + CacheType string + Dir string + Directory fs.Directory + Name string + func DirectoryFromOriginal(f *Fs, d fs.Directory) *Directory + func NewDirectory(f *Fs, remote string) *Directory + func ShallowDirectory(f *Fs, remote string) *Directory + func (d *Directory) Fs() fs.Info + func (d *Directory) ID() string + func (d *Directory) Items() int64 + func (d *Directory) ModTime() time.Time + func (d *Directory) Remote() string + func (d *Directory) Size() int64 + func (d *Directory) String() string + type Features struct + DbWaitTime time.Duration + PurgeDb bool + type Fs struct + func (f *Fs) About() (*fs.Usage, error) + func (f *Fs) ChangeNotify(notifyFunc func(string, fs.EntryType), pollInterval time.Duration) chan bool + func (f *Fs) ChunkSize() int64 + func (f *Fs) CleanUp() error + func (f *Fs) CleanUpCache(ignoreLastTs bool) + func (f *Fs) Copy(src fs.Object, remote string) (fs.Object, error) + func (f *Fs) DirCacheFlush() + func (f *Fs) DirMove(src fs.Fs, srcRemote, dstRemote string) error + func (f *Fs) Features() *fs.Features + func (f *Fs) GetBackgroundUploadChannel() chan BackgroundUploadState + func (f *Fs) Hashes() hash.Set + func (f *Fs) InfoAge() time.Duration + func (f *Fs) List(dir string) (entries fs.DirEntries, err error) + func (f *Fs) ListR(dir string, callback fs.ListRCallback) (err error) + func (f *Fs) Mkdir(dir string) error + func (f *Fs) Move(src fs.Object, remote string) (fs.Object, error) + func (f *Fs) Name() string + func (f *Fs) NewObject(remote string) (fs.Object, error) + func (f *Fs) Purge() error + func (f *Fs) Put(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error) + func (f *Fs) PutStream(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error) + func (f *Fs) PutUnchecked(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (fs.Object, error) + func (f *Fs) Rmdir(dir string) error + func (f *Fs) Root() string + func (f *Fs) SetWrapper(wrapper fs.Fs) + func (f *Fs) Stats() (map[string]map[string]interface{}, error) + func (f *Fs) StopBackgroundRunners() + func (f *Fs) String() string + func (f *Fs) TempUploadWaitTime() time.Duration + func (f *Fs) UnWrap() fs.Fs + func (f *Fs) WrapFs() fs.Fs + type Handle struct + UseMemory bool + func NewObjectHandle(o *Object, cfs *Fs) *Handle + func (r *Handle) Close() error + func (r *Handle) Read(p []byte) (n int, err error) + func (r *Handle) Seek(offset int64, whence int) (int64, error) + func (r *Handle) String() string + type Memory struct + func NewMemory(defaultExpiration time.Duration) *Memory + func (m *Memory) AddChunk(fp string, data []byte, offset int64) error + func (m *Memory) AddChunkAhead(fp string, data []byte, offset int64, t time.Duration) error + func (m *Memory) CleanChunksByAge(chunkAge time.Duration) + func (m *Memory) CleanChunksByNeed(offset int64) + func (m *Memory) CleanChunksBySize(maxSize int64) + func (m *Memory) Connect(defaultExpiration time.Duration) error + func (m *Memory) GetChunk(cachedObject *Object, offset int64) ([]byte, error) + func (m *Memory) HasChunk(cachedObject *Object, offset int64) bool + type NotificationContainer struct + PlaySessionState []PlaySessionStateNotification + Size int + Type string + type Object struct + CacheFs *Fs + CacheHashes map[hash.Type]string + CacheModTime int64 + CacheSize int64 + CacheStorable bool + CacheTs time.Time + CacheType string + Dir string + Name string + ParentFs fs.Fs + func NewObject(f *Fs, remote string) *Object + func ObjectFromOriginal(f *Fs, o fs.Object) *Object + func (o *Object) Fs() fs.Info + func (o *Object) Hash(ht hash.Type) (string, error) + func (o *Object) ModTime() time.Time + func (o *Object) Open(options ...fs.OpenOption) (io.ReadCloser, error) + func (o *Object) Remote() string + func (o *Object) Remove() error + func (o *Object) SetModTime(t time.Time) error + func (o *Object) Size() int64 + func (o *Object) Storable() bool + func (o *Object) String() string + func (o *Object) UnWrap() fs.Object + func (o *Object) Update(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) error + type Options struct + ChunkCleanInterval fs.Duration + ChunkNoMemory bool + ChunkPath string + ChunkSize fs.SizeSuffix + ChunkTotalSize fs.SizeSuffix + DbPath string + DbPurge bool + DbWaitTime fs.Duration + InfoAge fs.Duration + PlexPassword string + PlexToken string + PlexURL string + PlexUsername string + ReadRetries int + Remote string + Rps int + StoreWrites bool + TempWaitTime fs.Duration + TempWritePath string + TotalWorkers int + type Persistent struct + func GetPersistent(dbPath, chunkPath string, f *Features) (*Persistent, error) + func (b *Persistent) AddBatchDir(cachedDirs []*Directory) error + func (b *Persistent) AddChunk(fp string, data []byte, offset int64) error + func (b *Persistent) AddDir(cachedDir *Directory) error + func (b *Persistent) AddObject(cachedObject *Object) error + func (b *Persistent) CleanChunksByAge(chunkAge time.Duration) + func (b *Persistent) CleanChunksByNeed(offset int64) + func (b *Persistent) CleanChunksBySize(maxSize int64) + func (b *Persistent) Close() + func (b *Persistent) ExpireDir(cd *Directory) error + func (b *Persistent) ExpireObject(co *Object, withData bool) error + func (b *Persistent) GetChunk(cachedObject *Object, offset int64) ([]byte, error) + func (b *Persistent) GetChunkTs(path string, offset int64) (time.Time, error) + func (b *Persistent) GetDir(remote string) (*Directory, error) + func (b *Persistent) GetDirEntries(cachedDir *Directory) (fs.DirEntries, error) + func (b *Persistent) GetObject(cachedObject *Object) (err error) + func (b *Persistent) HasChunk(cachedObject *Object, offset int64) bool + func (b *Persistent) HasEntry(remote string) bool + func (b *Persistent) Purge() + func (b *Persistent) PurgeTempUploads() + func (b *Persistent) ReconcileTempUploads(cacheFs *Fs) error + func (b *Persistent) RemoveDir(fp string) error + func (b *Persistent) RemoveObject(fp string) error + func (b *Persistent) SearchPendingUpload(remote string) (started bool, err error) + func (b *Persistent) SetPendingUploadToStarted(remote string) error + func (b *Persistent) Stats() (map[string]map[string]interface{}, error) + func (b *Persistent) String() string + type PlaySessionStateNotification struct + GUID string + Key string + SessionKey string + State string + TranscodeSession string + ViewOffset int64 + type PlexNotification struct + Container NotificationContainer