diff options
author | 2025-03-09 17:47:56 +0100 | |
---|---|---|
committer | 2025-03-10 01:59:49 +0100 | |
commit | 3ac1ee16f377d31a0fb80c8dae28b6239ac4229e (patch) | |
tree | f61faa581feaaeaba2542b9f2b8234a590684413 /vendor/github.com/tetratelabs/wazero/internal/filecache/file_cache.go | |
parent | [chore] update URLs to forked source (diff) | |
download | gotosocial-3ac1ee16f377d31a0fb80c8dae28b6239ac4229e.tar.xz |
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/internal/filecache/file_cache.go')
-rw-r--r-- | vendor/github.com/tetratelabs/wazero/internal/filecache/file_cache.go | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/internal/filecache/file_cache.go b/vendor/github.com/tetratelabs/wazero/internal/filecache/file_cache.go deleted file mode 100644 index 940a79a8d..000000000 --- a/vendor/github.com/tetratelabs/wazero/internal/filecache/file_cache.go +++ /dev/null @@ -1,76 +0,0 @@ -package filecache - -import ( - "encoding/hex" - "errors" - "io" - "os" - "path" - "path/filepath" -) - -// New returns a new Cache implemented by fileCache. -func New(dir string) Cache { - return newFileCache(dir) -} - -func newFileCache(dir string) *fileCache { - return &fileCache{dirPath: dir} -} - -// fileCache persists compiled functions into dirPath. -// -// Note: this can be expanded to do binary signing/verification, set TTL on each entry, etc. -type fileCache struct { - dirPath string -} - -func (fc *fileCache) path(key Key) string { - return path.Join(fc.dirPath, hex.EncodeToString(key[:])) -} - -func (fc *fileCache) Get(key Key) (content io.ReadCloser, ok bool, err error) { - f, err := os.Open(fc.path(key)) - if errors.Is(err, os.ErrNotExist) { - return nil, false, nil - } else if err != nil { - return nil, false, err - } else { - return f, true, nil - } -} - -func (fc *fileCache) Add(key Key, content io.Reader) (err error) { - path := fc.path(key) - dirPath, fileName := filepath.Split(path) - - file, err := os.CreateTemp(dirPath, fileName+".*.tmp") - if err != nil { - return - } - defer func() { - file.Close() - if err != nil { - _ = os.Remove(file.Name()) - } - }() - if _, err = io.Copy(file, content); err != nil { - return - } - if err = file.Sync(); err != nil { - return - } - if err = file.Close(); err != nil { - return - } - err = os.Rename(file.Name(), path) - return -} - -func (fc *fileCache) Delete(key Key) (err error) { - err = os.Remove(fc.path(key)) - if errors.Is(err, os.ErrNotExist) { - err = nil - } - return -} |