package sync // import ( // "fmt" // "s1d3sw1ped/SteamCache2/vfs" // "sync" // ) // // Ensure SyncFS implements VFS. // var _ vfs.VFS = (*SyncFS)(nil) // type SyncFS struct { // vfs vfs.VFS // mu sync.RWMutex // } // func New(vfs vfs.VFS) *SyncFS { // return &SyncFS{ // vfs: vfs, // mu: sync.RWMutex{}, // } // } // // Name returns the name of the file system. // func (sfs *SyncFS) Name() string { // return fmt.Sprintf("SyncFS(%s)", sfs.vfs.Name()) // } // // Size returns the total size of all files in the file system. // func (sfs *SyncFS) Size() int64 { // sfs.mu.RLock() // defer sfs.mu.RUnlock() // return sfs.vfs.Size() // } // // Set sets the value of key as src. // // Setting the same key multiple times, the last set call takes effect. // func (sfs *SyncFS) Set(key string, src []byte) error { // sfs.mu.Lock() // defer sfs.mu.Unlock() // return sfs.vfs.Set(key, src) // } // // Delete deletes the value of key. // func (sfs *SyncFS) Delete(key string) error { // sfs.mu.Lock() // defer sfs.mu.Unlock() // return sfs.vfs.Delete(key) // } // // Get gets the value of key to dst, and returns dst no matter whether or not there is an error. // func (sfs *SyncFS) Get(key string) ([]byte, error) { // sfs.mu.RLock() // defer sfs.mu.RUnlock() // return sfs.vfs.Get(key) // } // // Stat returns the FileInfo of key. // func (sfs *SyncFS) Stat(key string) (*vfs.FileInfo, error) { // sfs.mu.RLock() // defer sfs.mu.RUnlock() // return sfs.vfs.Stat(key) // } // // StatAll returns the FileInfo of all keys. // func (sfs *SyncFS) StatAll() []*vfs.FileInfo { // sfs.mu.RLock() // defer sfs.mu.RUnlock() // return sfs.vfs.StatAll() // }