diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-storage/s3/cache.go')
| -rw-r--r-- | vendor/codeberg.org/gruf/go-storage/s3/cache.go | 94 |
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) - } -} |
