utils

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type KeyTagger added in v0.2.1

type KeyTagger struct{}

KeyTagger is a decorate that records all Set/Delete operations performed by it's children and adds all those keys as DeliverTx tags.

Tags is the hex encoded key, value is "s" (for set) or "d" (for delete)

Desired behavior, impossible as tendermint will collapse multiple tags with same key:

Tags are added as Key=<bucket name>, Value=<hex of remainder>,
like Key=cash, Value=00CAFE00

func NewKeyTagger added in v0.2.1

func NewKeyTagger() KeyTagger

NewKeyTagger creates a KeyTagger decorator

func (KeyTagger) Check added in v0.2.1

Check does nothing

func (KeyTagger) Deliver added in v0.2.1

Deliver passes in a recording KVStore into the child and uses that to calculate tags to add to DeliverResult

type Logging

type Logging struct{}

Logging is a decorator to log messages as they pass through

func NewLogging

func NewLogging() Logging

NewLogging creates a Logging decorator

func (Logging) Check

func (r Logging) Check(ctx weave.Context, store weave.KVStore, tx weave.Tx,
	next weave.Checker) (weave.CheckResult, error)

Check logs error -> info, success -> debug

func (Logging) Deliver

func (r Logging) Deliver(ctx weave.Context, store weave.KVStore, tx weave.Tx,
	next weave.Deliverer) (weave.DeliverResult, error)

Deliver logs error -> error, success -> info

type Recovery

type Recovery struct{}

Recovery is a decorator to recover from panics in transactions, so we can log them as errors

func NewRecovery

func NewRecovery() Recovery

NewRecovery creates a Recovery decorator

func (Recovery) Check

func (r Recovery) Check(ctx weave.Context, store weave.KVStore, tx weave.Tx,
	next weave.Checker) (res weave.CheckResult, err error)

Check turns panics into normal errors

func (Recovery) Deliver

func (r Recovery) Deliver(ctx weave.Context, store weave.KVStore, tx weave.Tx,
	next weave.Deliverer) (res weave.DeliverResult, err error)

Deliver turns panics into normal errors

type Savepoint

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

Savepoint will isolate all data inside of the call, and commit/rollback to savepoint based on if error

func NewSavepoint

func NewSavepoint() Savepoint

NewSavepoint creates a Savepoint decorator, but you must call OnCheck/OnDeliver so it will be triggered

func (Savepoint) Check

func (s Savepoint) Check(ctx weave.Context, store weave.KVStore, tx weave.Tx,
	next weave.Checker) (weave.CheckResult, error)

Check will optionally set a checkpoint

func (Savepoint) Deliver

func (s Savepoint) Deliver(ctx weave.Context, store weave.KVStore, tx weave.Tx,
	next weave.Deliverer) (weave.DeliverResult, error)

Deliver will optionally set a checkpoint

func (Savepoint) OnCheck

func (s Savepoint) OnCheck() Savepoint

OnCheck returns a savepoint that will trigger on CheckTx

func (Savepoint) OnDeliver

func (s Savepoint) OnDeliver() Savepoint

OnDeliver returns a savepoint that will trigger on DeliverTx

Jump to

Keyboard shortcuts

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