Back to

Package memory

Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module:


Package memory implements in-memory Storage structures.

It is designed for testing, and hasn't been optimized for any productio use.


type Cache

type Cache struct {
	// contains filtered or unexported fields

Cache is an in-memory storage.Cache implementation.

func (*Cache) Get

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

Get implements storage.Cache.

func (*Cache) Put

func (c *Cache) Put(ctx context.Context, key storage.CacheKey, val []byte, exp time.Duration)

Put implements storage.Cache.

type Storage

type Storage struct {
	// MaxGetCount, if not zero, is the maximum number of records to retrieve from
	// a single Get request.
	MaxGetCount int
	// contains filtered or unexported fields

Storage is an implementation of the storage.Storage interface that stores data in memory.

This is intended for testing, and not intended to be performant.

func (*Storage) Close

func (s *Storage) Close()

Close implements storage.Storage.

func (*Storage) Count

func (s *Storage) Count(project string, path types.StreamPath) (c int)

Count returns the number of log records for the given stream.

func (*Storage) Expunge

func (s *Storage) Expunge(c context.Context, req storage.ExpungeRequest) error

Expunge implements storage.Storage.

func (*Storage) Get

func (s *Storage) Get(c context.Context, req storage.GetRequest, cb storage.GetCallback) error

Get implements storage.Storage.

func (*Storage) Put

func (s *Storage) Put(c context.Context, req storage.PutRequest) error

Put implements storage.Storage.

func (*Storage) PutEntries

func (s *Storage) PutEntries(ctx context.Context, project string, path types.StreamPath, entries ...*logpb.LogEntry)

PutEntries is a convenience method for ingesting logpb.Entry's into this Storage object.

func (*Storage) ResetClose

func (s *Storage) ResetClose()

ResetClose resets the storage instance, allowing it to be used another time. The data stored in this instance is not changed.

func (*Storage) SetErr

func (s *Storage) SetErr(err error)

SetErr sets the storage's error value. If not nil, all operations will fail with this error.

func (*Storage) Tail

func (s *Storage) Tail(c context.Context, project string, path types.StreamPath) (*storage.Entry, error)

Tail implements storage.Storage.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier