Documentation
¶
Index ¶
Constants ¶
View Source
const ( // EmptyInstanceID represents an empty InstanceID. EmptyInstanceID = InstanceID("") )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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 []byte
// Current is the instance after the action was done.
Current []byte
}
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 (wall-clock) the event was created.
Time() []byte
// InstanceID is the associated instance's unique identifier.
InstanceID() InstanceID
// Collection is the associated instance's collection name.
Collection() string
// Marshal the event to JSON.
Marshal() ([]byte, error)
}
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 IndexFunc) ([]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
}
Click to show internal directories.
Click to hide internal directories.