A Relay can receive PUBLISH_NAMESPACE for the same Track Namespace or PUBLISH messages for the same Track from multiple publishers. The following sections explain how Relays maintain subscriptions to all available publishers for a given Track.
There is no specified limit to the number of publishers of a Track Namespace or Track. An implementation can use mechanisms such as PUBLISH_ERROR, PUBLISH_NAMESPACE_ERROR, UNSUBSCRIBE or PUBLISH_NAMESPACE_CANCEL if it cannot accept an additional publisher due to implementation constraints. Implementations can consider the establishment or idle time of the session or subscription to determine which publisher to reject or disconnect.
Relays MUST handle Objects for the same Track from multiple publishers and forward them to active matching subscriptions. The Relay SHOULD attempt to deduplicate Objects before forwarding, subject to implementation constraints.