package vfs import ( "gitlink.org.cn/cloudream/jcs-pub/client/internal/db" "gitlink.org.cn/cloudream/jcs-pub/client/internal/downloader" "gitlink.org.cn/cloudream/jcs-pub/client/internal/mount/config" "gitlink.org.cn/cloudream/jcs-pub/client/internal/mount/fuse" "gitlink.org.cn/cloudream/jcs-pub/client/internal/mount/vfs/cache" "gitlink.org.cn/cloudream/jcs-pub/client/internal/uploader" ) type Vfs struct { db *db.DB config *config.Config cache *cache.Cache } func NewVfs(cfg *config.Config, db *db.DB, uploader *uploader.Uploader, downloader *downloader.Downloader) *Vfs { return &Vfs{ db: db, config: cfg, cache: cache.NewCache(cfg, db, uploader, downloader), } } func (v *Vfs) Start() { v.cache.Start() } func (v *Vfs) Stop() { v.cache.Stop() } func (v *Vfs) Root() fuse.FsDir { return newRoot(v) } func (v *Vfs) Stats() fuse.FsStats { return fuse.FsStats{} } func (v *Vfs) Dump() cache.CacheStatus { return v.cache.Dump() } func (v *Vfs) ReloadSyncFilter() { v.cache.ReloadSyncFilter() } func (v *Vfs) ReclaimSpace() { v.cache.ReclaimSpace() }