# Packages
No description provided by the author
No description provided by the author
No description provided by the author
# Functions
DeserializeCommand deserializes the command data using a registered marshaller returning a *Command.
DeserializeEvent deserializes the event data using a registered marshaller returning an *Event.
DeserializeReply deserializes the reply data using a registered marshaller returning a *Reply.
DeserializeSagaData deserializes the saga data data using a registered marshaller returning a *SagaData.
DeserializeSnapshot deserializes the snapshot data using a registered marshaller returning a *Snapshot.
GetCausationID returns the CausationID from the context or a blank if not set
In a long line of events, commands and messages this ID will match the previous RequestID.
GetCorrelationID returns the CorrelationID from the context or a blank if not set
In a long line of events, commands and messages this ID will match the original RequestID.
GetRequestID returns the RequestID from the context or a blank if not set.
RegisterCommands registers one or more commands with a registered marshaller
Register commands using any form desired "&MyCommand{}", "MyCommand{}", "(*MyCommand)(nil)"
Commands must be registered after first registering a marshaller you wish to use.
RegisterDefaultMarshaller registers a marshaller to be used when no other marshaller should be used.
RegisterEvents registers one or more events with a registered marshaller
Register events using any form desired "&MyEvent{}", "MyEvent{}", "(*MyEvent)(nil)"
Events must be registered after first registering a marshaller you wish to use.
RegisterMarshaller allows applications to register a new optimized marshaller for specific types or situations.
RegisterReplies registers one or more replies with a registered marshaller
Register replies using any form desired "&MyReply{}", "MyReply{}", "(*MyReply)(nil)"
Replies must be registered after first registering a marshaller you wish to use.
RegisterSagaData registers one or more saga data with a registered marshaller
Register saga data using any form desired "&MySagaData{}", "MySagaData{}", "(*MySagaData)(nil)"
SagaData must be registered after first registering a marshaller you wish to use.
RegisterSnapshots registers one or more snapshots with a registered marshaller
Register snapshots using any form desired "&MySnapshot{}", "MySnapshot{}", "(*MySnapshot)(nil)"
Snapshots must be registered after first registering a marshaller you wish to use.
SerializeCommand serializes commands with a registered marshaller.
SerializeEvent serializes events with a registered marshaller.
SerializeReply serializes replies with a registered marshaller.
SerializeSagaData serializes saga data with a registered marshaller.
SerializeSnapshot serializes snapshots with a registered marshaller.
SetRequestContext sets the Request, Correlation, and Causation IDs on the context
Correlation and Causation IDs will use the RequestID if blank ID values are provided.
# Structs
EntityBase provides entities a base to build on.
# Interfaces
Command interface.
Entity have identity and change tracking in the form of events.
Event interface.
Marshaller provides marshaling functions and type tracking capabilities
This is how the library avoids requiring boilerplate written to convert each data type to and from a marshalled form.
Reply interface.
SagaData interface.
Snapshot interface.