settings

package
v0.60.0 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2022 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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) GetLatest

func (m *Manager) GetLatest(ctx context.Context, repositoryID graveler.RepositoryID, key string, settingTemplate proto.Message) (proto.Message, error)

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

Jump to

Keyboard shortcuts

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