Versions in this module Expand all Collapse all v1 v1.9.1 Aug 10, 2022 Changes in this version + var ErrTxnRetry = errors.New("lmdbsync: retry failed txn") + var MapResizedDefaultDelay = ExponentialBackoff(time.Millisecond, 5 * time.Millisecond, 2) + var MapResizedDefaultRetry = 2 + type DelayFunc func(attempt int) time.Duration + func ExponentialBackoff(base time.Duration, max time.Duration, factor float64) DelayFunc + type Env struct + Handlers HandlerChain + func NewEnv(env *lmdb.Env, h ...Handler) (*Env, error) + func (r *Env) BeginTxn(parent *lmdb.Txn, flags uint) (*lmdb.Txn, error) + func (r *Env) Open(path string, flags uint, mode os.FileMode) error + func (r *Env) RunTxn(flags uint, op lmdb.TxnOp) (err error) + func (r *Env) SetMapSize(size int64) error + func (r *Env) Update(op lmdb.TxnOp) error + func (r *Env) UpdateLocked(op lmdb.TxnOp) error + func (r *Env) View(op lmdb.TxnOp) error + func (r *Env) WithHandler(h Handler) TxnRunner + type Handler interface + HandleTxnErr func(ctx context.Context, env *Env, err error) (context.Context, error) + func MapFullHandler(fn MapFullFunc) Handler + func MapResizedHandler(maxRetry int, delay DelayFunc) Handler + type HandlerChain []Handler + func (c HandlerChain) Append(h ...Handler) HandlerChain + func (c HandlerChain) HandleTxnErr(ctx context.Context, env *Env, err error) (context.Context, error) + type MapFullFunc func(size int64) (int64, bool) + type TxnRunner interface + RunTxn func(flags uint, op lmdb.TxnOp) error + Update func(op lmdb.TxnOp) error + UpdateLocked func(op lmdb.TxnOp) error + View func(op lmdb.TxnOp) error + WithHandler func(h Handler) TxnRunner