settings

package
v1.31.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 7, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_graveler_settings_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.

func (*Manager) WithCache added in v0.70.1

func (m *Manager) WithCache(cache cache.Cache)

type ManagerOption

type ManagerOption func(m *Manager)

func WithCache

func WithCache(cache cache.Cache) ManagerOption

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL