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, repository *graveler.RepositoryRecord, key string, ...) error
- func (m *Manager) GetLatest(ctx context.Context, repository *graveler.RepositoryRecord, key string, ...) (*string, error)
- func (m *Manager) Save(ctx context.Context, repository *graveler.RepositoryRecord, key string, ...) error
- func (m *Manager) WithCache(cache cache.Cache)
- 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, store kv.Store, options ...ManagerOption) *Manager
func (*Manager) Get ¶
func (m *Manager) Get(ctx context.Context, repository *graveler.RepositoryRecord, key string, dst proto.Message) error
Get fetches the setting under the given repository and key, and loads it into dst. The result is eventually consistent: it is not guaranteed to be the most up-to-date setting. The cache expiry period is 1 second.
func (*Manager) GetLatest ¶
func (m *Manager) GetLatest(ctx context.Context, repository *graveler.RepositoryRecord, key string, dst proto.Message) (*string, error)
GetLatest loads the latest setting into dst. It returns a checksum representing the version of the setting, which can be passed to SaveIf for conditional updates. The checksum of a non-existent setting is the empty string.
func (*Manager) Save ¶
func (m *Manager) Save(ctx context.Context, repository *graveler.RepositoryRecord, key string, setting proto.Message, lastKnownChecksum *string) error
Save persists the given setting under the given repository and key. Overrides settings key in KV Store. The setting is persisted only if the current version of the setting matches the given checksum. If lastKnownChecksum is the empty string, the setting is persisted only if it does not exist. If lastKnownChecksum is nil, the setting is persisted unconditionally.
type ManagerOption ¶
type ManagerOption func(m *Manager)
func WithCache ¶
func WithCache(cache cache.Cache) ManagerOption