blockstore

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2015 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

package blockstore implements a thin wrapper over a datastore, giving a clean interface for Getting and Putting block objects.

Index

Constants

This section is empty.

Variables

View Source
var BlockPrefix = ds.NewKey("b")

BlockPrefix namespaces blockstore datastores

View Source
var ErrNotFound = errors.New("blockstore: block not found")
View Source
var ValueTypeMismatch = errors.New("The retrieved value is not a Block")

Functions

This section is empty.

Types

type Blockstore

type Blockstore interface {
	DeleteBlock(u.Key) error
	Has(u.Key) (bool, error)
	Get(u.Key) (*blocks.Block, error)
	Put(*blocks.Block) error

	AllKeys(ctx context.Context) ([]u.Key, error)
	AllKeysChan(ctx context.Context) (<-chan u.Key, error)

	AllKeysRange(ctx context.Context, offset int, limit int) ([]u.Key, error)
	AllKeysRangeChan(ctx context.Context, offset int, limit int) (<-chan u.Key, error)
}

Blockstore wraps a ThreadSafeDatastore

func NewBlockstore

func NewBlockstore(d ds.ThreadSafeDatastore) Blockstore

func WriteCached

func WriteCached(bs Blockstore, size int) (Blockstore, error)

WriteCached returns a blockstore that caches up to |size| unique writes (bs.Put).

Jump to

Keyboard shortcuts

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