A message is a data structure that represents either an instruction to be passed to a process (command), or a record of something that has happened (event) - typically in response to the processing of a command.
The only real difference between a command message and an event message is the way that they are named. Command messages are named in the imperative tense (eg: DoSomething) and event messages are named in the past tense (eg: SomethingDone). Other kinds of messages in the Eventide toolkit include entity snapshot messages and consumer position messages.
Only a message’s class name is considered a message’s name, even if the class is nested in an outer namespace. When a message is written to the message store, any outer namespace is not included in the message name. While it’s possible to have two message classes with the same name but in different namespaces, once those messages are written to the store, the distinctness provided by namespaces will be eliminated. If you need to differentiate between classes that have the same name, the name of the message class should include a prefix or suffix.
- A message used with the message store, containing data
- A generic message with any JSON data.
- Generic message JSON data.