org.omg.CosNotifyChannelAdmin
Interface ProxyPullConsumerOperations

All Superinterfaces:
FilterAdminOperations, NotifyPublishOperations, ProxyConsumerOperations, PullConsumerOperations, QoSAdminOperations
All Known Subinterfaces:
ProxyPullConsumer
All Known Implementing Classes:
_ProxyPullConsumerStub, ProxyPullConsumerImpl, ProxyPullConsumerPOA, ProxyPullConsumerPOATie

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 instance?s 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.
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.ProxyConsumerOperations
MyAdmin, MyType, obtain_subscription_types, validate_event_qos
 
Methods inherited from interface org.omg.CosNotification.QoSAdminOperations
get_qos, set_qos, validate_qos
 
Methods inherited from interface org.omg.CosNotifyFilter.FilterAdminOperations
add_filter, get_all_filters, get_filter, remove_all_filters, remove_filter
 
Methods inherited from interface org.omg.CosNotifyComm.NotifyPublishOperations
offer_change
 
Methods inherited from interface org.omg.CosEventComm.PullConsumerOperations
disconnect_pull_consumer
 

Method Detail

connect_any_pull_supplier

void connect_any_pull_supplier(PullSupplier pull_supplier)
                               throws AlreadyConnected,
                                      TypeError
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
AlreadyConnected
TypeError

suspend_connection

void suspend_connection()
                        throws ConnectionAlreadyInactive,
                               NotConnected
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

resume_connection

void resume_connection()
                       throws ConnectionAlreadyActive,
                              NotConnected
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