flex

package
v0.0.0-...-51f9457 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithServices

func WithServices(c context.Context, s Services) context.Context

WithServices installs the supplied Services instance into a Context.

Types

type GlobalServices

type GlobalServices struct {
	// contains filtered or unexported fields
}

GlobalServices is an application singleton that stores cross-request service structures.

It lives in the root context.

func NewGlobalServices

func NewGlobalServices(c context.Context, bt *bigtable.Flags) (*GlobalServices, error)

NewGlobalServices instantiates a new GlobalServices instance.

Receives the location of the BigTable with intermediate logs.

The Context passed to GlobalServices should be a global server Context not a request-specific Context.

func (*GlobalServices) StorageForStream

func (gsvc *GlobalServices) StorageForStream(c context.Context, lst *coordinator.LogStreamState, project string) (
	coordinator.SigningStorage, error)

Storage returns a Storage instance for the supplied log stream.

The caller must close the returned instance if successful.

type Services

type Services interface {
	// Storage returns a Storage instance for the supplied log stream.
	//
	// The caller must close the returned instance if successful.
	StorageForStream(ctx context.Context, state *coordinator.LogStreamState, project string) (coordinator.SigningStorage, error)
}

Services is a set of support services used by Coordinator endpoints.

Each instance is valid for a single request, but can be re-used throughout that request. This is advised, as the Services instance may optionally cache values.

Services methods are goroutine-safe.

func GetServices

func GetServices(c context.Context) Services

GetServices gets the Services instance installed in the supplied Context.

If no Services has been installed, it will panic.

type StorageCache

type StorageCache struct {
	// contains filtered or unexported fields
}

StorageCache implements a generic storage.Cache for Storage instances.

This uses the process cache for the underlying cache.

func (*StorageCache) Get

func (sc *StorageCache) Get(c context.Context, key storage.CacheKey) ([]byte, bool)

Get implements storage.Cache.

func (*StorageCache) Put

func (sc *StorageCache) Put(c context.Context, key storage.CacheKey, data []byte, exp time.Duration)

Put implements storage.Cache.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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