org.omg.CosNotifyChannelAdmin
Interface SequenceProxyPushSupplierOperations

All Superinterfaces:
FilterAdminOperations, NotifySubscribeOperations, ProxySupplierOperations, QoSAdminOperations, SequencePushSupplierOperations
All Known Subinterfaces:
SequenceProxyPushSupplier
All Known Implementing Classes:
_SequenceProxyPushSupplierStub, SequenceProxyPushSupplierImpl, SequenceProxyPushSupplierPOA, SequenceProxyPushSupplierPOATie

public interface SequenceProxyPushSupplierOperations
extends ProxySupplierOperations, SequencePushSupplierOperations

The SequenceProxyPushSupplier interface supports connections to the channel by consumers who will receive events from the channel as sequences of Structured Events. Through inheritance of the ProxySupplier interface, the SequenceProxyPushSupplier interface supports administration of various QoS properties, administration of a list of associated filter objects, and a readonly attribute containing the reference of the ConsumerAdmin object which created it. In addition, this inheritance implies that a SequenceProxyPushSupplier 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 instance?s ability to accept a per-event QoS request. The SequenceProxyPushSupplier interface also inherits from the SequencePushSupplier interface defined in the CosNotifyComm module. This interface supports the operation which can be invoked to close down the connection from the consumer to the SequenceProxyPushSupplier. In addition, since the SequencePushSupplier interface inherits from the NotifySubscribe interface, a SequenceProxyPushSupplier can be notified whenever the list of event types which its associated consumer is interested in receiving changes. This notification occurs via the callback mechanism described in section 2.3. Lastly, the SequenceProxyPushSupplier 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. The SequenceProxyPushSupplier interface also defines a pair of operations which can suspend and resume the connection between a SequenceProxyPushSupplier instance and its associated SequencePushConsumer. During the time such a connection is suspended, the SequenceProxyPushSupplier will accumulate events destined for the consumer but not transmit them until the connection is resumed.


Method Summary
 void connect_sequence_push_consumer(SequencePushConsumer push_consumer)
          The connect_sequence_push_consumer operation accepts as an input parameter the reference to an object supporting the SequencePushConsumer interface defined within the CosNotifyComm module.
 void resume_connection()
          The resume_connection operation causes the target object supporting the SequenceProxyPushSupplier interface to resume sending events to the SequencePushConsumer instance connected to it.
 void suspend_connection()
          The suspend_connection operation causes the target object supporting the SequenceProxyPushSupplier interface to stop sending events to the SequencePushConsumer instance connected to it.
 
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.SequencePushSupplierOperations
disconnect_sequence_push_supplier
 
Methods inherited from interface org.omg.CosNotifyComm.NotifySubscribeOperations
subscription_change
 

Method Detail

connect_sequence_push_consumer

void connect_sequence_push_consumer(SequencePushConsumer push_consumer)
                                    throws AlreadyConnected,
                                           TypeError
The connect_sequence_push_consumer operation accepts as an input parameter the reference to an object supporting the SequencePushConsumer interface defined within the CosNotifyComm module. This reference is that of a consumer which will receive events from the channel with which the target object is associated in the form of sequences of Structured Events. This operation is thus invoked in order to establish a connection between a push-style consumer of events in the form of sequences of Structured Events, and the notification channel. Once established, the SequenceProxyPushSupplier will proceed to send events destined for the consumer to it by invoking its push_structured_events operation. If the target object of this operation is already connected to a push consumer object, the AlreadyConnected exception will be raised. An implementation of the SequenceProxyPushSupplier interface may impose additional requirements on the interface supported by a push consumer (e.g., it may be designed to invoke some operation other than push_structured_events in order to transmit events). If the push consumer being connected does not meet those requirements, this operation raises the TypeError exception.

Throws:
AlreadyConnected
TypeError

suspend_connection

void suspend_connection()
                        throws ConnectionAlreadyInactive,
                               NotConnected
The suspend_connection operation causes the target object supporting the SequenceProxyPushSupplier interface to stop sending events to the SequencePushConsumer 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 SequencePushConsumer has been connected to the target object when this operation is invoked, the NotConnected exception is raised. Otherwise, the SequenceProxyPushSupplier will not forward events to the SequencePushConsumer connected to it until resume_connection is subsequently invoked. During this time, the SequenceProxyPushSupplier will continue to queue events destined for the SequencePushConsumer, 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 SequencePushConsumer.

Throws:
ConnectionAlreadyInactive
NotConnected

resume_connection

void resume_connection()
                       throws ConnectionAlreadyActive,
                              NotConnected
The resume_connection operation causes the target object supporting the SequenceProxyPushSupplier interface to resume sending events to the SequencePushConsumer 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 SequencePushConsumer has been connected to the target object when this operation is invoked, the NotConnected exception is raised. Otherwise, the SequenceProxyPushSupplier will resume forwarding events to the SequencePushConsumer connected to it, including those which have been queued during the time the connection was suspended, and have not yet timed out.

Throws:
ConnectionAlreadyActive
NotConnected