memory

package
v0.0.0-...-4aaebde Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2018 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package memory is an in memory storage backend for Shade.

It stores files and chunks transiently in RAM.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClient

func NewClient(c drive.Config) (drive.Client, error)

NewClient returns a Drive client, based on the provided config.

Types

type Drive

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

Drive implements the drive.Client interface by storing Files and Chunks transiently in RAM. The provided config can be returned, but is otherwise ignored.

func (*Drive) GetChunk

func (s *Drive) GetChunk(sha256sum []byte, _ *shade.File) ([]byte, error)

GetChunk retrieves a chunk with a given SHA-256 sum

func (*Drive) GetConfig

func (s *Drive) GetConfig() drive.Config

GetConfig returns the config used to initialize this client.

func (*Drive) GetFile

func (s *Drive) GetFile(sha256sum []byte) ([]byte, error)

GetFile retrieves a file with a given SHA-256 sum

func (*Drive) ListChunks

func (s *Drive) ListChunks() [][]byte

ListChunks returns all the chunks known to the memory client. It is helpful for tests.

func (*Drive) ListFiles

func (s *Drive) ListFiles() ([][]byte, error)

ListFiles retrieves all of the File objects known to the client. The return is a list of sha256sums of the file object. The keys may be passed to GetFile() to retrieve the corresponding shade.File.

func (*Drive) Local

func (s *Drive) Local() bool

Local returns whether the storage is local to this machine.

func (*Drive) Persistent

func (s *Drive) Persistent() bool

Persistent returns whether the storage is persistent across task restarts.

func (*Drive) PutChunk

func (s *Drive) PutChunk(sha256sum []byte, chunk []byte, _ *shade.File) error

PutChunk writes a chunk and returns its SHA-256 sum

func (*Drive) PutFile

func (s *Drive) PutFile(sha256sum, f []byte) error

PutFile writes the metadata describing a new file. f should be marshalled JSON, and may be encrypted.

Jump to

Keyboard shortcuts

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