Documentation
¶
Overview ¶
Package honu provides a thin wrapper over an embedded database (leveldb, sqlite) that provides version history to object changes and anti-entropy replication.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DB ¶
type DB struct {
// contains filtered or unexported fields
}
DB is a Honu embedded database. Currently DB simply wraps a leveldb database
func Open ¶
func Open(uri string, conf config.ReplicaConfig) (db *DB, err error)
Open a replicated embedded database with the specified URI. Database URIs should specify protocol:///relative/path/to/db for embedded databases. For absolute paths, specify protocol:////absolute/path/to/db.
func (*DB) Delete ¶
Delete the object represented by the key, creating a tombstone object. TODO: provide write options to the underlying database.
func (*DB) Get ¶
Get the latest version of the object stored by the key. TODO: provide read options to the underlying database.
func (*DB) Iter ¶
Iter over a subset of keys specified by the prefix. TODO: provide better mechanisms for iteration.
type VersionManager ¶
VersionManager is configured with information associated with the local Replica in order to correctly implement Lamport clocks for sequential, conflict-free replicated versions.
func NewVersionManager ¶
func NewVersionManager(conf config.ReplicaConfig) (v *VersionManager, err error)
NewVersionManager creates a new manager for handling lamport scalar versions.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package iterator provides an interface and implementations to traverse over the contents of an embedded database while maintaining and reading replicated object metadata.
|
Package iterator provides an interface and implementations to traverse over the contents of an embedded database while maintaining and reading replicated object metadata. |
|
proto
|
|
