package
1.8.1
Repository: https://github.com/kevburnsjr/lmdb-go.git
Documentation: pkg.go.dev

# Packages

Command testresize is a utility used by the lmdbsync tests to validate its multiprocessing capabilities.

# Functions

ExponentialBackoff returns a function that delays each attempt by random number between 0 and the minimum of max and base*factor^attempt.
MapFullHandler returns a Handler that retries updates which failed to commit due to lmdb.MapFull errors.
MapResizedHandler returns a Handler that transparently adopts map sizes set by external processes and retries any transactions that failed to start because of lmdb.MapResized.
NewEnv returns an newly allocated Env that wraps env.

# Variables

ErrTxnRetry is returned by a Handler to have the Env retry the transaction.
MapResizedDefaultDelay is the default DelayFunc when MapResizedHandler is passed a nil value.
MapResizedDefaultRetry is the default number of attempts MapResizedHandler will make adopt a new map size when lmdb.MapResized is encountered repeatedly.

# Structs

Env wraps an *lmdb.Env, receiving all the same methods and proxying some to provide transaction management.

# Interfaces

Handler can intercept errors returned by a transaction and handle them in an application-specific way, including by resizing the environment and retrying the transaction by returning ErrTxnRetry.
TxnRunner is an interface for types that can run lmdb transactions.

# Type aliases

DelayFunc takes as input the number of previous attempts and returns the delay before making another attempt.
HandlerChain is a Handler implementation that iteratively calls each handler in the underlying slice when handling an error.
MapFullFunc is a function for resizing a memory map after it has become full.