boltdb

package
v1.102.3 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Error = errs.Class("boltdb")

Error is the default boltdb errs class.

Functions

This section is empty.

Types

type Client

type Client struct {
	Path   string
	Bucket []byte
	// contains filtered or unexported fields
}

Client is the entrypoint into a bolt data store.

func New

func New(path, bucket string) (*Client, error)

New instantiates a new BoltDB client given db file path, and a bucket name.

func (*Client) Close

func (client *Client) Close() (err error)

Close closes a BoltDB client.

func (*Client) CompareAndSwap added in v1.96.4

func (client *Client) CompareAndSwap(ctx context.Context, key kvstore.Key, oldValue, newValue kvstore.Value) (err error)

CompareAndSwap atomically compares and swaps oldValue with newValue.

func (*Client) Delete

func (client *Client) Delete(ctx context.Context, key kvstore.Key) (err error)

Delete deletes a key/value pair from boltdb, for a given the key.

func (*Client) Get

func (client *Client) Get(ctx context.Context, key kvstore.Key) (_ kvstore.Value, err error)

Get looks up the provided key from boltdb returning either an error or the result.

func (*Client) Put

func (client *Client) Put(ctx context.Context, key kvstore.Key, value kvstore.Value) (err error)

Put adds a key/value to boltDB in a batch, where boltDB commits the batch to disk every 1000 operations or 10ms, whichever is first. The MaxBatchDelay are using default settings. Ref: https://github.com/boltdb/bolt/blob/master/db.go#L160 Note: when using this method, check if it needs to be executed asynchronously since it blocks for the duration db.MaxBatchDelay.

func (*Client) PutAndCommit

func (client *Client) PutAndCommit(ctx context.Context, key kvstore.Key, value kvstore.Value) (err error)

PutAndCommit adds a key/value to BoltDB and writes it to disk.

func (*Client) Range

func (client *Client) Range(ctx context.Context, fn func(context.Context, kvstore.Key, kvstore.Value) error) (err error)

Range iterates over all items in unspecified order.

Jump to

Keyboard shortcuts

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