org.omg.CosNotifyChannelAdmin
Interface ProxyPullConsumerOperations
public
interface
ProxyPullConsumerOperations
extends ProxyConsumerOperations, PullConsumerOperations
The ProxyPullConsumer interface supports connections to the channel by suppliers
who will make events available for pulling to the channel as untyped Anys.
Through inheritance of the ProxyConsumer interface, the ProxyPullConsumer
interface supports administration of various QoS properties, administration of a list of
associated filter objects, and a readonly attribute containing the reference of the
SupplierAdmin object which created it. In addition, this inheritance implies that a
ProxyPullConsumer instance supports an operation which will return the list of event
types which consumers connected to the same channel are interested in receiving, and
an operation which can return information about the instances ability to accept a per-event
QoS request.
The ProxyPullConsumer interface also inherits from the PullConsumer interface
defined within the CosEventComm module of the OMG Event Service. This interface
supports the operation required to disconnect the ProxyPullConsumer from its
associated supplier. In addition, since the inherited PullConsumer interface inherits
the CosNotifyComm::NotifyPublish interface, a supplier connected to an instance
supporting the ProxyPullConsumer interface can inform it whenever the list of event
types the supplier plans to supply changes.
Finally, the ProxyPullConsumer interface defines the operation which can be invoked
by a pull supplier to establish the connection over which the pull supplier will send
events to the channel. Note that this can be either a pure event service style, or a
notification service style pull supplier. The ProxyPullConsumer interface also defines
a pair of operations which can suspend and resume the connection between a
ProxyPullConsumer instance and its associated PullSupplier. During the time such a
connection is suspended, the ProxyPullConsumer will not attempt to pull events from
its associated PullSupplier.
Method Summary |
void | connect_any_pull_supplier(PullSupplier pull_supplier)
The connect_any_pull_supplier operation accepts as an input parameter the reference
to an object supporting the PullSupplier interface defined within the CosEventComm
module. |
void | resume_connection()
The resume_connection operation causes the target object supporting the
ProxyPullConsumer interface to resume attempting to pull events (using pull or
try_pull) from the PullSupplier instance connected to it. |
void | suspend_connection()
The suspend_connection operation causes the target object supporting the
ProxyPullConsumer interface to stop attempting to pull events (using pull or try_pull)
from the PullSupplier instance connected to it. |
public void connect_any_pull_supplier(
PullSupplier pull_supplier)
The connect_any_pull_supplier operation accepts as an input parameter the reference
to an object supporting the PullSupplier interface defined within the CosEventComm
module. This reference is that of a supplier which plans to make events available for
pulling to 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
supplier of events in the form of Anys, and the notification channel. Once
established, the channel can proceed to receive events from the supplier by invoking
the pull or try_pull operations supported by the supplier (whether the channel will
invoke pull or try_pull, and the frequency with which it will perform such invocations,
is a detail which is specific to the implementation of the channel). If the target object
of this operation is already connected to a pull supplier object, the AlreadyConnected
exception will be raised. An implementation of the ProxyPullConsumer interface may
impose additional requirements on the interface supported by a pull supplier (e.g., it
may be designed to invoke some operation other than pull or try_pull in order to
receive events). If the pull supplier being connected does not meet those requirements,
this operation raises the TypeError exception.
Note that because the PullSupplier interface defined in the CosNotifyComm module
inherits from the PullSupplier 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 supplier. The only difference between the two are that the
latter also supports the NotifySubscribe interface, and thus can be the target of
subscription_change invocations. The implementation of the ProxyPullConsumer
interface should attempt to narrow the input parameter to
CosNotifyComm::PullSupplier in order to determine which style of pull supplier is
connecting to it.
Parameters: pull_supplier Push supplier to connect to the proxy
Throws: CosEventChannelAdmin::AlreadyConnected The proxy is already connected CosEventChannelAdmin::TypeError
public void resume_connection()
The resume_connection operation causes the target object supporting the
ProxyPullConsumer interface to resume attempting to pull events (using pull or
try_pull) from the PullSupplier instance connected to it. This operation takes no input
parameters and returns no values. If the connection has not been previously suspended
using this operation by invoking suspend_connection (described above), the
ConnectionAlreadyActive exception is raised. If no PullSupplier has been connected
to the target object when this operation is invoked, the NotConnected exception is
raised. Otherwise, the ProxyPullConsumer will resume attempting to pull events from
the PullSupplier connected to it.
Throws: ConnectionAlreadyActive Connection is already active NotConnected Proxy isn't connected
public void suspend_connection()
The suspend_connection operation causes the target object supporting the
ProxyPullConsumer interface to stop attempting to pull events (using pull or try_pull)
from the PullSupplier instance connected to it. This operation takes no input
parameters and returns no values. If the connection has been previously suspended
using this operation and not resumed by invoking resume_connection (described
below), the ConnectionAlreadyInactive exception is raised. If no PullSupplier has
been connected to the target object when this operation is invoked, the NotConnected
exception is raised. Otherwise, the ProxyPullConsumer will not attempt to pull events
from the PullSupplier connected to it until resume_connection is subsequently
invoked.
Throws: ConnectionAlreadyInactive Connection is already suspended NotConnected Proxy isn't connected