org.omg.CosNotifyChannelAdmin
Interface ProxyPullSupplierOperations
public
interface
ProxyPullSupplierOperations
extends ProxySupplierOperations, PullSupplierOperations
The ProxyPullSupplier interface supports connections to the channel by consumers
who will pull events from the channel as untyped Anys.
Through inheritance of the ProxySupplier interface, the ProxyPullSupplier interface
supports administration of various QoS properties, administration of a list of associated
filter objects, mapping filters for event priority and lifetime, and a readonly attribute
containing the reference of the ConsumerAdmin object which created it. In addition,
this inheritance implies that a ProxyPullSupplier instance supports an operation
which will return the list of event types which the proxy supplier will potentially by
supplying, and an operation which can return information about the instances ability
to accept a per-event QoS request.
The ProxyPullSupplier interface also inherits from the PullSupplier interface defined
within the CosNotifyComm module. This interface supports the pull and try_pull
operations which the consumer connected to a ProxyPullSupplier instance will invoke
to receive an event from the channel in the form of an Any, and the operation required
to disconnect the ProxyPullSupplier from its associated consumer. In addition, since
the inherited PullSupplier interface inherits the CosNotifyComm::NotifySubscribe
interface, an instance supporting the ProxyPullSupplier interface can be informed
whenever the list of event types that the consumer connected to it is interested in
receiving changes.
Finally, the ProxyPullSupplier interface defines the operation which can be invoked
by a pull consumer to establish the connection over which the pull consumer will
receive events from the channel. Note that this can be either a pure event service style,
or a notification service style pull consumer.
public void connect_any_pull_consumer(
PullConsumer pull_consumer)
The connect_any_pull_consumer operation accepts as an input parameter the reference
to an object supporting the PullConsumer interface defined within the
CosEventComm module. This reference is that of a consumer which plans to pull
events from the channel with which the target object is associated in the form of
untyped Anys. This operation is thus invoked in order to establish a connection
between a pull-style consumer of events in the form of Anys, and the notification
channel. Once established, the consumer can proceed to receive events from the
channel by invoking the pull or try_pull operations supported by the target
ProxyPullSupplier instance. If the target object of this operation is already connected
to a pull consumer object, the AlreadyConnected exception will be raised.
Note that because the PullConsumer interface defined in the CosNotifyComm
module inherits from the PullConsumer interface defined in the CosEventComm
module, the input parameter to this operation could be either a pure event service style,
or a notification service style pull consumer. The only difference between the two are
that the latter also supports the NotifyPublish interface, and thus can be the target of
offer_change invocations. The implementation of the ProxyPullSupplier interface
should attempt to narrow the input parameter to CosNotifyComm::PullConsumer in
order to determine which style of pull consumer is connecting to it.
Parameters: pull_consumer Push consumer to connect to the proxy
Throws: CosEventChannelAdmin::AlreadyConnected The proxy is already connected