I've been thinking about the sort of things a Mediator might want to do
and what Synapse provides so far with the proposed phase/ruleset/stage
stuff. It covers most things but its not really clear on how to add or
remove Mediators to the path of a message flowing through Synapse. I
think thats the sort of thing we've been trying to do with Mediators
returning ints and having rulesets with loopy behaviour, but it doesn't
seem perfect yet.
Is this something we want to be able to do?
If so, how about making each ruleset/stage (and Mediator?) in the
current phase addressable to a Mediator so it can fiddle with the list
to control where a message goes to next. There would be an API for the
Synapse config to be interrogated by a Mediator which provide functions
to get and modify the ruleset/stage list being used for the current
message. So in affect the phase defines a default list of
rulesets/stages for each messages, like a default routing path through
Synapse, but a Mediator can add/remove things to that path for each
individual message.
...ant
