Customization
Serializer
If you want to use another or a custom serializer you have to inherit from DefaultDistributedFactory and override CreateEventArgsSerializer.
Example:
Custom message
If you want to extend the standard message with additional information or if your transport layer has restrictions on the message contracts, you have to inherit from DefaultDistributedFactory and override CreateMessageFactory.
Your message factory can extend AbstractEventMessageFactory for simple scenarios.
Example (taken from NServiceBus transport):
Selection Strategy
Selection strategies are queried when a new topic is created on the event broker where the extension is added. The default selection strategy accepts all topics. This means that all events fired on the event broker which has the extension will be published on the transport layer.
If you want to use your own convention you have to inherit from DefaultDistributedFactory and override CreateTopicSelectionStrategy. For simple scenarios the FuncTopicSelectionStrategy can be used which accepts a lambda which acts as strategy implementation.
Example:
The strategy above would only accept event publications where the topic URI starts with distributed://. All other publications would not be published on the transport layer.