Documentation ¶
Index ¶
- Constants
- type AccessBoxCache
- type BucketCache
- type Config
- type ObjectsCache
- type ObjectsListCache
- type ObjectsListKey
- type ObjectsNameCache
- type SystemCache
- func (o *SystemCache) Delete(key string) bool
- func (o *SystemCache) GetCORS(key string) *data.CORSConfiguration
- func (o *SystemCache) GetNotificationConfiguration(key string) *data.NotificationConfiguration
- func (o *SystemCache) GetObject(key string) *data.ObjectInfo
- func (o *SystemCache) GetSettings(key string) *data.BucketSettings
- func (o *SystemCache) PutCORS(key string, obj *data.CORSConfiguration) error
- func (o *SystemCache) PutNotificationConfiguration(key string, obj *data.NotificationConfiguration) error
- func (o *SystemCache) PutObject(key string, obj *data.ObjectInfo) error
- func (o *SystemCache) PutSettings(key string, settings *data.BucketSettings) error
Constants ¶
const ( // DefaultAccessBoxCacheSize is a default maximum number of entries in cache. DefaultAccessBoxCacheSize = 100 // DefaultAccessBoxCacheLifetime is a default lifetime of entries in cache. DefaultAccessBoxCacheLifetime = 10 * time.Minute )
const ( // DefaultBucketCacheSize is a default maximum number of entries in cache. DefaultBucketCacheSize = 1e3 // DefaultBucketCacheLifetime is a default lifetime of entries in cache. DefaultBucketCacheLifetime = time.Minute )
const ( // DefaultObjectsNameCacheSize is a default maximum number of entries in cache. DefaultObjectsNameCacheSize = 1e4 // DefaultObjectsNameCacheLifetime is a default lifetime of entries in cache. DefaultObjectsNameCacheLifetime = time.Minute )
const ( // DefaultObjectsCacheLifetime is a default lifetime of entries in objects' cache. DefaultObjectsCacheLifetime = time.Minute * 5 // DefaultObjectsCacheSize is a default maximum number of entries in objects' cache. DefaultObjectsCacheSize = 1e6 )
const ( // DefaultObjectsListCacheLifetime is a default lifetime of entries in cache of ListObjects. DefaultObjectsListCacheLifetime = time.Second * 60 // DefaultObjectsListCacheSize is a default size of cache of ListObjects. DefaultObjectsListCacheSize = 1e5 )
const ( // DefaultSystemCacheSize is a default maximum number of entries in cache. DefaultSystemCacheSize = 1e4 // DefaultSystemCacheLifetime is a default lifetime of entries in cache. DefaultSystemCacheLifetime = 5 * time.Minute )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessBoxCache ¶
type AccessBoxCache struct {
// contains filtered or unexported fields
}
AccessBoxCache stores an access box by its address.
func NewAccessBoxCache ¶
func NewAccessBoxCache(config *Config) *AccessBoxCache
NewAccessBoxCache creates an object of BucketCache.
type BucketCache ¶
type BucketCache struct {
// contains filtered or unexported fields
}
BucketCache contains cache with objects and the lifetime of cache entries.
func NewBucketCache ¶
func NewBucketCache(config *Config) *BucketCache
NewBucketCache creates an object of BucketCache.
func (*BucketCache) Delete ¶
func (o *BucketCache) Delete(key string) bool
Delete deletes an object from cache.
func (*BucketCache) Get ¶
func (o *BucketCache) Get(key string) *data.BucketInfo
Get returns a cached object.
func (*BucketCache) Put ¶
func (o *BucketCache) Put(bkt *data.BucketInfo) error
Put puts an object to cache.
type Config ¶
Config stores expiration params for cache.
func DefaultAccessBoxConfig ¶
func DefaultAccessBoxConfig() *Config
DefaultAccessBoxConfig returns new default cache expiration values.
func DefaultBucketConfig ¶
func DefaultBucketConfig() *Config
DefaultBucketConfig returns new default cache expiration values.
func DefaultObjectsConfig ¶
func DefaultObjectsConfig() *Config
DefaultObjectsConfig returns new default cache expiration values.
func DefaultObjectsListConfig ¶
func DefaultObjectsListConfig() *Config
DefaultObjectsListConfig returns new default cache expiration values.
func DefaultObjectsNameConfig ¶
func DefaultObjectsNameConfig() *Config
DefaultObjectsNameConfig returns new default cache expiration values.
func DefaultSystemConfig ¶
func DefaultSystemConfig() *Config
DefaultSystemConfig returns new default cache expiration values.
type ObjectsCache ¶
type ObjectsCache struct {
// contains filtered or unexported fields
}
ObjectsCache provides lru cache for objects.
func (*ObjectsCache) Delete ¶
func (o *ObjectsCache) Delete(address *address.Address) bool
Delete deletes an object from cache.
type ObjectsListCache ¶
type ObjectsListCache struct {
// contains filtered or unexported fields
}
ObjectsListCache contains cache for ListObjects and ListObjectVersions.
func NewObjectsListCache ¶
func NewObjectsListCache(config *Config) *ObjectsListCache
NewObjectsListCache is a constructor which creates an object of ListObjectsCache with the given lifetime of entries.
func (*ObjectsListCache) CleanCacheEntriesContainingObject ¶
func (l *ObjectsListCache) CleanCacheEntriesContainingObject(objectName string, cid *cid.ID)
CleanCacheEntriesContainingObject deletes entries containing specified object.
func (*ObjectsListCache) Get ¶
func (l *ObjectsListCache) Get(key ObjectsListKey) []oid.ID
Get returns a list of ObjectInfo.
func (*ObjectsListCache) Put ¶
func (l *ObjectsListCache) Put(key ObjectsListKey, oids []oid.ID) error
Put puts a list of objects to cache.
type ObjectsListKey ¶
type ObjectsListKey struct {
// contains filtered or unexported fields
}
ObjectsListKey is a key to find a ObjectsListCache's entry.
func CreateObjectsListCacheKey ¶
func CreateObjectsListCacheKey(cid *cid.ID, prefix string) ObjectsListKey
CreateObjectsListCacheKey returns ObjectsListKey with the given CID and prefix.
type ObjectsNameCache ¶
type ObjectsNameCache struct {
// contains filtered or unexported fields
}
ObjectsNameCache provides lru cache for objects. This cache contains mapping nice names to object addresses. Key is bucketName+objectName.
func NewObjectsNameCache ¶
func NewObjectsNameCache(config *Config) *ObjectsNameCache
NewObjectsNameCache creates an object of ObjectsNameCache.
func (*ObjectsNameCache) Delete ¶
func (o *ObjectsNameCache) Delete(key string) bool
Delete deletes an object from cache.
type SystemCache ¶
type SystemCache struct {
// contains filtered or unexported fields
}
SystemCache provides lru cache for objects. This cache contains "system" objects (bucket versioning settings, tagging object etc.). Key is bucketName+systemFileName.
func NewSystemCache ¶
func NewSystemCache(config *Config) *SystemCache
NewSystemCache creates an object of SystemCache.
func (*SystemCache) Delete ¶
func (o *SystemCache) Delete(key string) bool
Delete deletes an object from cache.
func (*SystemCache) GetCORS ¶ added in v0.18.0
func (o *SystemCache) GetCORS(key string) *data.CORSConfiguration
func (*SystemCache) GetNotificationConfiguration ¶ added in v0.19.0
func (o *SystemCache) GetNotificationConfiguration(key string) *data.NotificationConfiguration
func (*SystemCache) GetObject ¶ added in v0.18.0
func (o *SystemCache) GetObject(key string) *data.ObjectInfo
GetObject returns a cached object.
func (*SystemCache) GetSettings ¶ added in v0.20.0
func (o *SystemCache) GetSettings(key string) *data.BucketSettings
func (*SystemCache) PutCORS ¶ added in v0.18.0
func (o *SystemCache) PutCORS(key string, obj *data.CORSConfiguration) error
func (*SystemCache) PutNotificationConfiguration ¶ added in v0.19.0
func (o *SystemCache) PutNotificationConfiguration(key string, obj *data.NotificationConfiguration) error
func (*SystemCache) PutObject ¶ added in v0.18.0
func (o *SystemCache) PutObject(key string, obj *data.ObjectInfo) error
PutObject puts an object to cache.
func (*SystemCache) PutSettings ¶ added in v0.20.0
func (o *SystemCache) PutSettings(key string, settings *data.BucketSettings) error