camlistore.org: camlistore.org/pkg/blobserver/memory Index | Files

package memory

import "camlistore.org/pkg/blobserver/memory"

Package memory registers the "memory" blobserver storage type, storing blobs in an in-memory map.

Index

Package Files

mem.go

type Storage Uses

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

Storage is an in-memory implementation of the blobserver Storage interface. It also includes other convenience methods used by tests.

Its zero value is usable.

func NewCache Uses

func NewCache(size int64) *Storage

NewCache returns a cache that won't store more than size bytes. Blobs are evicted in LRU order.

func (*Storage) BlobContents Uses

func (s *Storage) BlobContents(br blob.Ref) (contents string, ok bool)

BlobContents returns as a string the contents of the blob br.

func (*Storage) BlobrefStrings Uses

func (s *Storage) BlobrefStrings() []string

BlobrefStrings returns the sorted stringified blobrefs stored in s.

func (*Storage) EnumerateBlobs Uses

func (s *Storage) EnumerateBlobs(ctx context.Context, dest chan<- blob.SizedRef, after string, limit int) error

func (*Storage) Fetch Uses

func (s *Storage) Fetch(ref blob.Ref) (file io.ReadCloser, size uint32, err error)

func (*Storage) NumBlobs Uses

func (s *Storage) NumBlobs() int

NumBlobs returns the number of blobs stored in s.

func (*Storage) ReceiveBlob Uses

func (s *Storage) ReceiveBlob(br blob.Ref, source io.Reader) (blob.SizedRef, error)

func (*Storage) RemoveBlobs Uses

func (s *Storage) RemoveBlobs(blobs []blob.Ref) error

func (*Storage) StatBlobs Uses

func (s *Storage) StatBlobs(dest chan<- blob.SizedRef, blobs []blob.Ref) error

func (*Storage) Stats Uses

func (s *Storage) Stats() (blobsFetched, bytesFetched int64)

Stats returns the number of blobs and number of bytes that were fetched from s.

func (*Storage) StreamBlobs Uses

func (s *Storage) StreamBlobs(ctx context.Context, dest chan<- blobserver.BlobAndToken, contToken string) error

func (*Storage) SubFetch Uses

func (s *Storage) SubFetch(ref blob.Ref, offset, length int64) (io.ReadCloser, error)

func (*Storage) SumBlobSize Uses

func (s *Storage) SumBlobSize() int64

SumBlobSize returns the total size in bytes of all the blobs in s.

Package memory imports 15 packages (graph) and is imported by 57 packages. Updated 2018-03-10. Refresh now. Tools for package owners.