Help us shape the future of Go! Take the 2026 Go Developer Survey

rpcdb

package
v1.22.72 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2025 License: BSD-3-Clause Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func ErrorToRPCError

func ErrorToRPCError(err error) error

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 rpcdbpb.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) HealthCheck

func (db *DatabaseClient) HealthCheck(ctx context.Context) (interface{}, error)

func (*DatabaseClient) NewBatch

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

NewBatch returns a new batch

func (*DatabaseClient) NewIterator

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

func (*DatabaseClient) NewIteratorWithPrefix

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

func (*DatabaseClient) NewIteratorWithStart

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

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) Sync added in v1.22.69

func (db *DatabaseClient) Sync() error

Sync flushes any pending writes to persistent storage. For RPC databases, this delegates to the remote database's Sync.

type DatabaseServer

type DatabaseServer struct {
	rpcdbpb.UnsafeDatabaseServer
	// 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) HealthCheck

HealthCheck performs a heath check against the underlying database.

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) WriteBatch

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

Jump to

Keyboard shortcuts

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