3.0.0
In this release the Router has been rewritten with an aim to make it more customizable.
The internals of the Router have been modelled after Linux's iptables
firewall:
- The system consists of rules
- Rules are organised into chains
- There are some standard pre-defined chains but users can create custom chains
- Messages move between chains
Pre-defined chains
There are three pre-defined chains
- Pre-routing
- Forwarding
- Post-routing
Pre-routing
The pre-routing chain is responsible for categorising messages and extracting information from them. Pre-routing chain terminators move messages to the forwarding chain. When messages are moved from pre-routing to forwarding their destination is already known
Forwarding
The forwarding chain is responsible for applying necessary transformation to forwarded messages e.g. mutating the correlation ID header.
Post-routing
The post-routing chain is responsible for properly dispatching forwarded messages to the transport