db

package
v0.1.11-rc2 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2020 License: MIT Imports: 3 Imported by: 15

Documentation

Index

Constants

View Source
const (
	// EmptyInstanceID represents an empty InstanceID
	EmptyInstanceID = InstanceID("")
)

Variables

This section is empty.

Functions

func IsValidInstanceID

func IsValidInstanceID(instanceID string) bool

Types

type Action

type Action struct {
	// Type of the action
	Type ActionType
	// InstanceID of the instance in action
	InstanceID InstanceID
	// CollectionName of the instance in action
	CollectionName string
	// Previous is the instance before the action
	Previous interface{}
	// Current is the instance after the action was done
	Current interface{}
}

Action is a operation done in the collection

type ActionType

type ActionType int

ActionType is the type used by actions done in a txn

const (
	// Create indicates the creation of an instance in a txn
	Create ActionType = iota
	// Save indicates the mutation of an instance in a txn
	Save
	// Delete indicates the deletion of an instance by ID in a txn
	Delete
)

type Event

type Event interface {
	Time() []byte
	InstanceID() InstanceID
	Collection() string
}

Event is a local or remote event generated in collection and dispatcher by Dispatcher.

type EventCodec

type EventCodec interface {
	// Reduce applies generated events into state
	Reduce(
		events []Event,
		datastore ds.TxnDatastore,
		baseKey ds.Key,
		indexFunc func(collection string, key ds.Key, oldData, newData []byte, txn ds.Txn) error,
	) ([]ReduceAction, error)
	// Create corresponding events to be dispatched
	Create(ops []Action) ([]Event, format.Node, error)
	// EventsFromBytes deserializes a format.Node bytes payload into
	// Events.
	EventsFromBytes(data []byte) ([]Event, error)
}

EventCodec transforms actions generated in collections to events dispatched to thread logs, and viceversa.

type InstanceID

type InstanceID string

InstanceID is the type used in instance identities

func NewInstanceID

func NewInstanceID() InstanceID

NewInstanceID generates a new identity for an instance

func (InstanceID) String

func (e InstanceID) String() string

type ReduceAction

type ReduceAction struct {
	// Type of the reduced action
	Type ActionType
	// Collection in which action was made
	Collection string
	// InstanceID of the instance in reduced action
	InstanceID InstanceID
}

Jump to

Keyboard shortcuts

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