raftstore

package
v0.0.0-...-e7dcbf3 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2024 License: BSD-3-Clause Imports: 18 Imported by: 0

Documentation

Overview

Package raftstore implements a storage backend for raft on top of LevelDB.

LevelDBStore implements the LogStore and StableStore interfaces of https://godoc.org/github.com/hashicorp/raft by using https://godoc.org/github.com/syndtr/goleveldb as a storage backend.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LevelDBStore

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

LevelDBStore implements the raft.LogStore and raft.StableStore interfaces on top of leveldb.

func NewLevelDBStore

func NewLevelDBStore(dir string, errorIfExist bool, useProtobuf bool) (*LevelDBStore, error)

NewLevelDBStore opens a leveldb at the given directory to be used as a log- and stable storage for raft.

func (*LevelDBStore) Close

func (s *LevelDBStore) Close() error

Close closes the LevelDBStore. No other methods may be called after this.

func (*LevelDBStore) ConvertToProto

func (s *LevelDBStore) ConvertToProto() error

convertToProto converts the database to use protobuf-encoded values instead of json-encoded values. This is a no-op once the database has been converted.

func (*LevelDBStore) DeleteRange

func (s *LevelDBStore) DeleteRange(min, max uint64) error

DeleteRange implements raft.LogStore.

func (*LevelDBStore) FirstIndex

func (s *LevelDBStore) FirstIndex() (uint64, error)

FirstIndex implements raft.LogStore.

func (*LevelDBStore) Get

func (s *LevelDBStore) Get(key []byte) ([]byte, error)

Get implements raft.StableStore.

func (*LevelDBStore) GetBulkIterator

func (s *LevelDBStore) GetBulkIterator(start, limit uint64) iterator.Iterator

GetBulkIterator returns an iterator which can be used to read the database entries in [start, limit). It performs much better than looping over GetLog.

func (*LevelDBStore) GetLog

func (s *LevelDBStore) GetLog(index uint64, rlog *raft.Log) error

GetLog implements raft.LogStore.

func (*LevelDBStore) GetUint64

func (s *LevelDBStore) GetUint64(key []byte) (uint64, error)

GetUint64 implements raft.StableStore.

func (*LevelDBStore) LastIndex

func (s *LevelDBStore) LastIndex() (uint64, error)

LastIndex implements raft.LogStore.

func (*LevelDBStore) Set

func (s *LevelDBStore) Set(key []byte, val []byte) error

Set implements raft.StableStore.

func (*LevelDBStore) SetUint64

func (s *LevelDBStore) SetUint64(key []byte, val uint64) error

SetUint64 implements raft.StableStore.

func (*LevelDBStore) StoreLog

func (s *LevelDBStore) StoreLog(entry *raft.Log) error

StoreLog implements raft.LogStore.

func (*LevelDBStore) StoreLogProto

func (s *LevelDBStore) StoreLogProto(msg *pb.RaftLog) error

func (*LevelDBStore) StoreLogs

func (s *LevelDBStore) StoreLogs(logs []*raft.Log) error

StoreLogs implements raft.LogStore.

func (*LevelDBStore) WriteBatch

func (s *LevelDBStore) WriteBatch(batch *leveldb.Batch) error

Jump to

Keyboard shortcuts

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