Message filter
Take only the messages you care about and let the rest pass by. A filter is a subscription with a predicate — the cheapest, most common routing decision on the bus.
A send port subscribes with a condition over a promoted variable — type = Invoice, region = EU, amount > 10000. The bus delivers a copy only when the predicate is true; non-matching messages are simply not delivered to this port. They are not consumed or removed — other subscriptions still see them.
A filter routes one stream to one port. When several ports each filter the same published message on different values, you have graduated to a content-based router — the same idea applied across a set of subscriptions.
In Art2link this is one send port with one subscription. Suppose only invoices over 10,000 should reach a manual-review queue: promote Amount on the Invoice message type, then give the review send port a single predicate:
{{Message.MessageType}} == "Invoice" && {{Promoted.Invoice.Amount}} > 10000Invoices that fail the predicate are simply never delivered to this port — they are not consumed, so other subscriptions still see them.