Skip to content

3.0.0

Compare
Choose a tag to compare
@SzymonPobiega SzymonPobiega released this 19 Dec 13:27
· 91 commits to master since this release

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