type STM …
type Isolation …
const SerializableSnapshot …
const Serializable …
const RepeatableReads …
const ReadCommitted …
type stmError …
type stmOptions …
type stmOption …
func WithIsolation(lvl Isolation) stmOption { … }
func WithAbortContext(ctx context.Context) stmOption { … }
func WithPrefetch(keys ...string) stmOption { … }
func NewSTM(c *v3.Client, apply func(STM) error, so ...stmOption) (*v3.TxnResponse, error) { … }
func mkSTM(c *v3.Client, opts *stmOptions) STM { … }
type stmResponse …
func runSTM(s STM, apply func(STM) error) (*v3.TxnResponse, error) { … }
type stm …
type stmPut …
type readSet …
func (rs readSet) add(keys []string, txnresp *v3.TxnResponse) { … }
func (rs readSet) first() int64 { … }
func (rs readSet) cmps() []v3.Cmp { … }
type writeSet …
func (ws writeSet) get(keys ...string) *stmPut { … }
func (ws writeSet) cmps(rev int64) []v3.Cmp { … }
func (ws writeSet) puts() []v3.Op { … }
func (s *stm) Get(keys ...string) string { … }
func (s *stm) Put(key, val string, opts ...v3.OpOption) { … }
func (s *stm) Del(key string) { … }
func (s *stm) Rev(key string) int64 { … }
func (s *stm) commit() *v3.TxnResponse { … }
func (s *stm) fetch(keys ...string) *v3.GetResponse { … }
func (s *stm) reset() { … }
type stmSerializable …
func (s *stmSerializable) Get(keys ...string) string { … }
func (s *stmSerializable) Rev(key string) int64 { … }
func (s *stmSerializable) gets() ([]string, []v3.Op) { … }
func (s *stmSerializable) commit() *v3.TxnResponse { … }
func isKeyCurrent(k string, r *v3.GetResponse) v3.Cmp { … }
func respToValue(resp *v3.GetResponse) string { … }
func NewSTMRepeatable(ctx context.Context, c *v3.Client, apply func(STM) error) (*v3.TxnResponse, error) { … }
func NewSTMSerializable(ctx context.Context, c *v3.Client, apply func(STM) error) (*v3.TxnResponse, error) { … }
func NewSTMReadCommitted(ctx context.Context, c *v3.Client, apply func(STM) error) (*v3.TxnResponse, error) { … }