rpcdb

package
v0.0.0-...-1d8d417 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2022 License: BSD-3-Clause Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DatabaseClient

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

DatabaseClient is an implementation of database that talks over RPC.

func NewClient

func NewClient(client rpcdbproto.DatabaseClient) *DatabaseClient

NewClient returns a database instance connected to a remote database instance

func (*DatabaseClient) Close

func (db *DatabaseClient) Close() error

Close attempts to close the database

func (*DatabaseClient) Compact

func (db *DatabaseClient) Compact(start, limit []byte) error

Compact attempts to optimize the space utilization in the provided range

func (*DatabaseClient) Delete

func (db *DatabaseClient) Delete(key []byte) error

Delete attempts to remove any mapping from the key

func (*DatabaseClient) Get

func (db *DatabaseClient) Get(key []byte) ([]byte, error)

Get attempts to return the value that was mapped to the key that was provided

func (*DatabaseClient) Has

func (db *DatabaseClient) Has(key []byte) (bool, error)

Has attempts to return if the database has a key with the provided value.

func (*DatabaseClient) NewBatch

func (db *DatabaseClient) NewBatch() database.Batch

NewBatch returns a new batch

func (*DatabaseClient) NewIterator

func (db *DatabaseClient) NewIterator() database.Iterator

NewIterator implements the Database interface

func (*DatabaseClient) NewIteratorWithPrefix

func (db *DatabaseClient) NewIteratorWithPrefix(prefix []byte) database.Iterator

NewIteratorWithPrefix implements the Database interface

func (*DatabaseClient) NewIteratorWithStart

func (db *DatabaseClient) NewIteratorWithStart(start []byte) database.Iterator

NewIteratorWithStart implements the Database interface

func (*DatabaseClient) NewIteratorWithStartAndPrefix

func (db *DatabaseClient) NewIteratorWithStartAndPrefix(start, prefix []byte) database.Iterator

NewIteratorWithStartAndPrefix returns a new empty iterator

func (*DatabaseClient) Put

func (db *DatabaseClient) Put(key, value []byte) error

Put attempts to set the value this key maps to

func (*DatabaseClient) Stat

func (db *DatabaseClient) Stat(property string) (string, error)

Stat attempts to return the statistic of this database

type DatabaseServer

type DatabaseServer struct {
	rpcdbproto.UnimplementedDatabaseServer
	// contains filtered or unexported fields
}

DatabaseServer is a database that is managed over RPC.

func NewServer

func NewServer(db database.Database) *DatabaseServer

NewServer returns a database instance that is managed remotely

func (*DatabaseServer) Close

Close delegates the Close call to the managed database and returns the result

func (*DatabaseServer) Compact

Compact delegates the Compact call to the managed database and returns the result

func (*DatabaseServer) Delete

Delete delegates the Delete call to the managed database and returns the result

func (*DatabaseServer) Get

Get delegates the Get call to the managed database and returns the result

func (*DatabaseServer) Has

Has delegates the Has call to the managed database and returns the result

func (*DatabaseServer) IteratorError

IteratorError attempts to report any errors that occurred during iteration

func (*DatabaseServer) IteratorNext

IteratorNext attempts to call next on the requested iterator

func (*DatabaseServer) IteratorRelease

IteratorRelease attempts to release the resources allocated to an iterator

func (*DatabaseServer) NewIteratorWithStartAndPrefix

NewIteratorWithStartAndPrefix allocates an iterator and returns the iterator ID

func (*DatabaseServer) Put

Put delegates the Put call to the managed database and returns the result

func (*DatabaseServer) Stat

Stat delegates the Stat call to the managed database and returns the result

func (*DatabaseServer) WriteBatch

WriteBatch takes in a set of key-value pairs and atomically writes them to the internal database

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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