Documentation ¶
Index ¶
- Variables
- type ExampleSettings
- func (*ExampleSettings) Descriptor() ([]byte, []int)deprecated
- func (x *ExampleSettings) GetExampleInt() int32
- func (x *ExampleSettings) GetExampleMap() map[string]int32
- func (x *ExampleSettings) GetExampleStr() string
- func (*ExampleSettings) ProtoMessage()
- func (x *ExampleSettings) ProtoReflect() protoreflect.Message
- func (x *ExampleSettings) Reset()
- func (x *ExampleSettings) String() string
- type Manager
- func (m *Manager) Get(ctx context.Context, repositoryID graveler.RepositoryID, key string, ...) (proto.Message, error)
- func (m *Manager) GetLatest(ctx context.Context, repositoryID graveler.RepositoryID, key string, ...) (proto.Message, error)
- func (m *Manager) Save(ctx context.Context, repositoryID graveler.RepositoryID, key string, ...) error
- func (m *Manager) UpdateWithLock(ctx context.Context, repositoryID graveler.RepositoryID, key string, ...) error
- type ManagerOption
Constants ¶
This section is empty.
Variables ¶
var File_test_settings_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type ExampleSettings ¶
type ExampleSettings struct { ExampleInt int32 `protobuf:"varint,1,opt,name=example_int,json=exampleInt,proto3" json:"example_int,omitempty"` ExampleStr string `protobuf:"bytes,2,opt,name=example_str,json=exampleStr,proto3" json:"example_str,omitempty"` ExampleMap map[string]int32 `` /* 180-byte string literal not displayed */ // contains filtered or unexported fields }
func (*ExampleSettings) Descriptor
deprecated
func (*ExampleSettings) Descriptor() ([]byte, []int)
Deprecated: Use ExampleSettings.ProtoReflect.Descriptor instead.
func (*ExampleSettings) GetExampleInt ¶
func (x *ExampleSettings) GetExampleInt() int32
func (*ExampleSettings) GetExampleMap ¶
func (x *ExampleSettings) GetExampleMap() map[string]int32
func (*ExampleSettings) GetExampleStr ¶
func (x *ExampleSettings) GetExampleStr() string
func (*ExampleSettings) ProtoMessage ¶
func (*ExampleSettings) ProtoMessage()
func (*ExampleSettings) ProtoReflect ¶
func (x *ExampleSettings) ProtoReflect() protoreflect.Message
func (*ExampleSettings) Reset ¶
func (x *ExampleSettings) Reset()
func (*ExampleSettings) String ¶
func (x *ExampleSettings) String() string
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager is a key-value store for Graveler repository-level settings. Each setting is stored under a key, and can be any proto.Message. Fetched settings are cached using cache.Cache with a default expiry time of 1 second. Hence, the store is eventually consistent.
func NewManager ¶
func NewManager(refManager graveler.RefManager, branchLock graveler.BranchLocker, blockAdapter block.Adapter, committedBlockStoragePrefix string, options ...ManagerOption) *Manager
func (*Manager) Get ¶
func (m *Manager) Get(ctx context.Context, repositoryID graveler.RepositoryID, key string, settingTemplate proto.Message) (proto.Message, error)
Get fetches the setting under the given repository and key, and returns the result. The result is eventually consistent: it is not guaranteed to be the most up-to-date setting. The cache expiry period is 1 second. The settingTemplate parameter is used to determine the returned type.
func (*Manager) Save ¶
func (m *Manager) Save(ctx context.Context, repositoryID graveler.RepositoryID, key string, setting proto.Message) error
Save persists the given setting under the given repository and key.
func (*Manager) UpdateWithLock ¶
func (m *Manager) UpdateWithLock(ctx context.Context, repositoryID graveler.RepositoryID, key string, settingTemplate proto.Message, update func(proto.Message) error) error
UpdateWithLock atomically gets a setting, performs the update function, and persists the setting to the store. The settingTemplate parameter is used to determine the type passed to the update function.
type ManagerOption ¶
type ManagerOption func(m *Manager)
func WithCache ¶
func WithCache(cache cache.Cache) ManagerOption