summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-storage/s3/cache.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-storage/s3/cache.go')
-rw-r--r--vendor/codeberg.org/gruf/go-storage/s3/cache.go94
1 files changed, 0 insertions, 94 deletions
diff --git a/vendor/codeberg.org/gruf/go-storage/s3/cache.go b/vendor/codeberg.org/gruf/go-storage/s3/cache.go
deleted file mode 100644
index 37ff9f321..000000000
--- a/vendor/codeberg.org/gruf/go-storage/s3/cache.go
+++ /dev/null
@@ -1,94 +0,0 @@
-package s3
-
-import (
- "time"
-
- "github.com/minio/minio-go/v7"
-)
-
-// EntryCache should provide a cache of
-// S3 object information for speeding up
-// Get(), Stat() and Remove() operations.
-type EntryCache interface {
-
- // Get should return 'found' = true when information is cached,
- // with 'info' optionally being nilable to allow caching errors.
- Get(key string) (info *CachedObjectInfo, found bool)
-
- // Put should cache the given information under key, with
- // nil CachedObjectInfo{} meaning a 'not found' response.
- Put(key string, info *CachedObjectInfo)
-}
-
-// CachedObjectInfo provides the minimum cacheable
-// set of S3 object information that may be returned
-// from a Get() or Stat() operation, or on Put().
-type CachedObjectInfo struct {
- Key string
- ETag string
- Size int64
- ContentType string
- LastModified time.Time
- VersionID string
-}
-
-// ToObjectInfo converts CachedObjectInfo to returnable minio.ObjectInfo.
-func (info *CachedObjectInfo) ToObjectInfo() minio.ObjectInfo {
- return minio.ObjectInfo{
- Key: info.Key,
- ETag: info.ETag,
- Size: info.Size,
- ContentType: info.ContentType,
- LastModified: info.LastModified,
- VersionID: info.VersionID,
- }
-}
-
-// cacheGet wraps cache.Get() operations to check if cache is nil.
-func cacheGet(cache EntryCache, key string) (*CachedObjectInfo, bool) {
- if cache != nil {
- return cache.Get(key)
- }
- return nil, false
-}
-
-// objectToCachedObjectInfo converts minio.ObjectInfo to CachedObjectInfo for caching.
-func objectToCachedObjectInfo(info minio.ObjectInfo) *CachedObjectInfo {
- return &CachedObjectInfo{
- Key: info.Key,
- ETag: info.ETag,
- Size: info.Size,
- ContentType: info.ContentType,
- LastModified: info.LastModified,
- VersionID: info.VersionID,
- }
-}
-
-// cacheObject wraps cache.Put() operations to check if cache is nil.
-func cacheObject(cache EntryCache, key string, info minio.ObjectInfo) {
- if cache != nil {
- cache.Put(key, objectToCachedObjectInfo(info))
- }
-}
-
-// cacheUpload wraps cache.Put() operations to check if cache is nil, uses ContentType from given opts.
-func cacheUpload(cache EntryCache, key string, info minio.UploadInfo, opts minio.PutObjectOptions) {
- if cache != nil {
- cache.Put(key, &CachedObjectInfo{
- Key: info.Key,
- ETag: info.ETag,
- Size: info.Size,
- ContentType: opts.ContentType,
- LastModified: info.LastModified,
- VersionID: info.VersionID,
- })
- }
-}
-
-// cacheNotFound wraps cache.Put() to check if cache is
-// nil, storing a nil entry (i.e. not found) in cache.
-func cacheNotFound(cache EntryCache, key string) {
- if cache != nil {
- cache.Put(key, nil)
- }
-}