nuts

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2023 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StateOk uint32 = iota
	StateBreak
)
View Source
const (
	// FileIO represents the read and write mode using standard I/O.
	FileIO = nutsdb.FileIO

	// MMap represents the read and write mode using mmap.
	MMap = nutsdb.MMap
)
View Source
const WatcherNotifyValueSize = 1024

Variables

View Source
var (
	ErrStateBreak = errors.New("state break")
)

Functions

func BackupReader

func BackupReader(dst string, src io.Reader) error

func DisableStrictMode

func DisableStrictMode()

func EnableStrictMode

func EnableStrictMode()

func New

func New(cfg Config) (store.Store, error)

func PrefixKey added in v0.5.1

func PrefixKey(prefix []byte) string

func WatchKey

func WatchKey(key []byte) (hash uint64)

WatchKey from: https://en.wikipedia.org/wiki/Jenkins_hash_function (Jenkins' One-At-A-Time hashing)

Types

type Config

type Config struct {
	NodeNum int64
	Sync    bool
	DataDir string
	RWMode  RWMode
}

type RWMode

type RWMode = nutsdb.RWMode

RWMode represents the read and write mode.

type Watcher

type Watcher struct {
	Namespaces sync.Map // map[string]*WatcherChild
}

func (*Watcher) Namespace

func (w *Watcher) Namespace(namespace string) *WatcherChild

type WatcherChannel

type WatcherChannel struct {
	PrefixWatch bool
	Seq         uint64
	LastUpdate  int64
	Value       *[]byte
	Prefix      []byte
	Notify      sync.Map // map[string]*WatcherNotify
	// contains filtered or unexported fields
}

func (*WatcherChannel) AddNotify

func (c *WatcherChannel) AddNotify(dest *WatcherNotify)

func (*WatcherChannel) UpdateValue

func (c *WatcherChannel) UpdateValue(key []byte, value *[]byte, ttl uint32)

type WatcherChild

type WatcherChild struct {
	Namespace      string
	Channels       sync.Map // map[uint64]*WatcherChannel
	PrefixChannels sync.Map // map[string]*WatcherChannel
}

func (*WatcherChild) Update

func (c *WatcherChild) Update(key, value []byte, ttl uint32)

func (*WatcherChild) Watch

func (c *WatcherChild) Watch(key []byte) *WatcherNotify

func (*WatcherChild) WatchPrefix added in v0.5.1

func (c *WatcherChild) WatchPrefix(prefix []byte) *WatcherNotify

type WatcherNotify

type WatcherNotify struct {
	Values chan *store.WatchValue
	UUID   string
	// contains filtered or unexported fields
}

func (*WatcherNotify) Close

func (n *WatcherNotify) Close() error

func (*WatcherNotify) Notify

func (n *WatcherNotify) Notify() chan *store.WatchValue

Jump to

Keyboard shortcuts

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