An event channel is an object that allows multiple suppliers to communicate with multiple consumers in a highly decoupled, asynchronous manner. The event channel is built up incrementally. An event channel factory could be used for creating an event channel. This factory could be found in OrberEventChannel_EventChannelFactory module. When an event channel is created no suppliers or consumers are connected to it. Event Channel can implement group communication by serving as a replicator, broadcaster, or multicaster that forward events from one or more suppliers to multiple consumers.
It is up to the user to decide when an event channel is created and how references to the event channel are obtained. By representing the event channel as an object, it has all of the properties that apply to objects. One way to manage an event channel is to register it in a naming context, or export it through an operation on an object.
Any object that possesses an object reference that supports the ProxyPullConsumer interface can perform the following operations:
for_consumers(Object) -> Return
Object = #objref
Return = #objref
This operation returns a ConsumerAdmin object reference. If ConsumerAdmin object does not exist already it creates one.
for_suppliers(Object) -> Return
Object = #objref
Return = #objref
This operation returns a SupplierAdmin object reference. If SupplierAdmin object does not exist already it creates one.
Object = #objref
Return = #objref