public class RuleBasedIoRouter : IoRouter
Supports rule-based routing of data from IO sources to IO actors based on an associated IO context.
Define rules that determine whether a given pair of IO source and IO actor should be associated or not. A rule is only applied if the value type of IO source and IO actor are compatible. If no rules are defined or no rule matches no associations between IO sources and IO actors are established.
You can define global rules that match IO sources and actors of any compatible value type or value-type specific rules that are only applied to IO sources and IO actors with a given value type.
By default, an IO source and an IO actor are compatible if both define equal
value types in equal data formats. You can define your own custom
compatibility check on value types in a subclass by overriding the
Note that this router makes its IO context available by advertising and for
discovery (by core type, object type, or object Id) and listens for
Update-Complete events on its IO context, triggering
This router requires the following controller options:
ioContext: the IO context for which this router is managing routes (mandatory)
rules: an array of rule definitions for this router. The rules listed here override any rules defined in the
public override func onInit()