8 // Calls os.Stat() on the file or folder that backs the given key.
9 func (cd *CacheDir) Stat(key ...CacheKey) (stat os.FileInfo, err error) {
10 lock, err := cd.Lock(key...)
16 fh, err := cd.Open(key...)
25 // Updates the mtime of the file backing the given key.
27 // Creates an empty file if it doesn't exist.
28 func (cd *CacheDir) Touch(key ...CacheKey) (err error) {
29 lock, err := cd.Lock(key...)
34 case os.IsNotExist(err):
40 if err = os.Chtimes(cd.cachePath(key...), time.Now(), time.Now()); err == nil {
44 fh, err := cd.OpenFlags(os.O_APPEND|os.O_CREATE, key...)
48 case os.IsNotExist(err): // directory path not created yet
49 fh, err = cd.Create(key...)