The ProxyPushConsumer interface defines the second step for connecting push suppliers to the event channel. A proxy consumer is similar to a normal consumer, but includes an additional method for connecting a supplier to the proxy consumer.
There are a number of exceptions that can be returned from functions in this interface.
-record('AlreadyConnected', {}).
-record('Disconnected', {}).
These exceptions are defined in the file event_service.hrl
.
Any object that possesses an object reference that supports the ProxyPushConsumer interface can perform the following operations:
connect_push_supplier(Object, PushSupplier) -> Return
Object = #objref
PushSupplier = #objref of PushSupplier type
Return = void
This operation connects PushSupplier object to the ProxyPushConsumer object.
A nil object reference can be passed to this operation. If so a channel
cannot invoke the disconnect_push_supplier operation on the supplier;
the supplier may be disconnected from the channel without being
informed. If the ProxyPushConsumer is already connected to a
PushSupplier, then the AlreadyConnected exception
is raised.
disconnect_push_consumer(Object) -> Return
Object = #objref
Return = void
This operation disconnects proxy push consumer from the event channel. Sends a notification about the loss of the connection to the push supplier attached to it, unless nil object reference was passed at the connection time.
Object = #objref
Data = any
Return = void
This operation sends event data to all connected consumers via the
event channel. If the event communication has already been disconnected,
the Disconnected
is raised.