It is used within the flow definition of a "route" and currently must be the final statement in a route definition
route to "endpoint x" # occurs two or more times
each "route" inside the broadcast receives the same message in parallel. A route keyword is used to allow for further nesting of statements.
The route inside the broadcast can be a code block to define a nested flow.
to "filterInBranch1" # filter
to "branch1endpoint" # final provider endoint
to "filterInBranch2" # filter
to "branch2endpoint" # final provider endoint
in effect statements can be nested recursively inside code blocks.
IFL enhancements to consider
What would it mean to allow for further instructions after a "broadcast"? Would it pipe the input that did flow into the broadcast to the following instruction, sequentially after the broadcast completed?
Should we add an aggregate keyword to join multiple responses before continuing?
What other enterprise integration patterns constructs should make it into the language?