VisiBroker for Java

org.omg.CosNotifyChannelAdmin
Interface ProxyPushSupplierOperations

All Superinterfaces:
FilterAdminOperations, NotifySubscribeOperations, ProxySupplierOperations, PushSupplierOperations, QoSAdminOperations
All Known Subinterfaces:
ProxyPushSupplier

public interface ProxyPushSupplierOperations
extends ProxySupplierOperations, PushSupplierOperations

The ProxyPushSupplier interface supports connections to the channel by consumers, who will receive events from the channel as untyped Anys. Through inheritance of the ProxySupplier interface, the ProxyPushSupplier 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 ProxyPushSupplier instance supports an operation that will return the list of event types, which the proxy supplier will potentially by supplying, and an operation which can return information about the instance?s ability to accept a per-event QoS request.

The ProxyPushSupplier interface also inherits from the PushSupplier interface defined within the CosNotifyComm module. This interface supports the operation required to disconnect the ProxyPushSupplier from its associated consumer. In addition, since the inherited PushSupplier interface inherits the CosNotifyComm::NotifySubscribe interface, an instance supporting the ProxyPushSupplier interface can be informed whenever the list of event types that the consumer connected to it is interested in receiving changes.

Lastly, the ProxyPushSupplier interface defines the operation, which can be invoked by a push consumer to establish the connection over which the push consumer will receive events from the channel. Note that this can be either a pure event service style, or a notification service style push consumer.The ProxyPushSupplier interface also defines a pair of operations that can suspend and resume the connection between a ProxyPushSupplier instance and its associated PushConsumer. During the time such a connection is suspended, the ProxyPushSupplier will accumulate events destined for the consumer but not transmit them until the connection is resumed.


Method Summary
 void connect_any_push_consumer(PushConsumer push_consumer)
          This operation is invoked in order to establish a connection between a push-style consumer of events in the form of Anys, and the notification channel.
 void resume_connection()
          The resume_connection operation causes the target object supporting the ProxyPushSupplier interface to resume sending events to the PushConsumer instance connected to it.
 void suspend_connection()
          The suspend_connection operation causes the target object supporting the ProxyPushSupplier interface to stop sending events to the PushConsumer instance connected to it until resume_connection is invoked.
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.ProxySupplierOperations
lifetime_filter, lifetime_filter, MyAdmin, MyType, obtain_offered_types, priority_filter, priority_filter, 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.NotifySubscribeOperations
subscription_change
 
Methods inherited from interface org.omg.CosEventComm.PushSupplierOperations
disconnect_push_supplier
 

Method Detail

resume_connection

void resume_connection()
                       throws ConnectionAlreadyActive,
                              NotConnected
The resume_connection operation causes the target object supporting the ProxyPushSupplier interface to resume sending events to the PushConsumer instance connected to it. The ProxyPushSupplier will resume forwarding events to the PushConsumer connected to it, including those that have been queued during the time the connection was suspended, and have not yet timed out. This operation takes no input parameters and returns no values.

Throws:
ConnectionAlreadyActive - If the connection has not been previously suspended using this operation by invoking suspend_connection.
NotConnected - If no PushConsumer has been connected to the target object when this operation is invoked.

suspend_connection

void suspend_connection()
                        throws ConnectionAlreadyInactive,
                               NotConnected
The suspend_connection operation causes the target object supporting the ProxyPushSupplier interface to stop sending events to the PushConsumer instance connected to it until resume_connection is invoked. During this time, the ProxyPushSupplier will continue to queue events destined for the PushConsumer, although events that time out prior to resumption of the connection will be discarded. Upon resumption of the connection, all queued events will be forwarded to the PushConsumer. This operation takes no input parameters and returns no values.

Throws:
ConnectionAlreadyInactive - If the connection has been previously suspended using this operation and not resumed by invoking resume_connection.
NotConnected - If no PushConsumer has been connected to the target object when this operation is invoked.

connect_any_push_consumer

void connect_any_push_consumer(PushConsumer push_consumer)
                               throws AlreadyConnected,
                                      TypeError
This operation is invoked in order to establish a connection between a push-style consumer of events in the form of Anys, and the notification channel. Once established, the ProxyPushSupplier will proceed to send events destined for the consumer to it by invoking its push operation.

Note that because the PushConsumer interface defined in the CosNotifyComm module inherits from the PushConsumer 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 push 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 ProxyPushSupplier interface should attempt to narrow the input parameter to CosNotifyComm::PushConsumer in order to determine which style of push consumer is connecting to it.

Parameters:
push_consumer - The reference to an object supporting the PushConsumer interface defined within the CosEventComm module. This reference is that of a consumer that will receive events from the channel with which the target object is associated in the form of untyped Anys.
Throws:
AlreadyConnected - If the target object of this operation is already connected to a push consumer object.
TypeError - If the push consumer being connected does not meet additional requirements, which may be imposed by this implementation on the interface supported by a push consumer (e.g., it may be designed to invoke some operation other than push in order to transmit events).

Borland Software Corporation
http://www.borland.com
100 Enterprise Way
Scotts Valley, CA 95066
Voice: (831) 431-1000
pubsweb@borland.com

Read the latest documentation online