org.omg.CosNotifyComm
Interface SequencePushConsumerOperations

All Superinterfaces:
NotifyPublishOperations
All Known Subinterfaces:
SequenceProxyPushConsumer, SequenceProxyPushConsumerOperations, SequencePushConsumer
All Known Implementing Classes:
_SequenceProxyPushConsumerStub, _SequencePushConsumerStub, SequenceProxyPushConsumerImpl, SequenceProxyPushConsumerPOA, SequenceProxyPushConsumerPOATie, SequencePushConsumerPOA, SequencePushConsumerPOATie

public interface SequencePushConsumerOperations
extends NotifyPublishOperations

The SequencePushConsumer interface supports an operation which enables consumers to receive sequences Structured Events by the push model. It also defines an operation which can be invoked to disconnect the push consumer from its associated supplier. In addition, the SequencePushConsumer interface inherits the NotifyPublish interface described above, enabling a notification supplier to inform an instance supporting this interface whenever there is a change to the types of events it intends to produce. Note that an object supporting the SequencePushConsumer interface can receive all events which were supplied to its associated channel, including events supplied in a form other than a sequence of Structured Events. How events supplied to the channel in other forms are internally mapped into a sequence of Structured Events for delivery to a SequencePushConsumer is summarized in Table 2-2.


Method Summary
 void disconnect_sequence_push_consumer()
          The disconnect_sequence_push_consumer operation is invoked to terminate a connection between the target SequencePushConsumer, and its associated supplier.
 void push_structured_events(StructuredEvent[] notifications)
          The push_structured_events operation takes as input a parameter of type EventBatch as defined in the CosNotification module.
 
Methods inherited from interface org.omg.CosNotifyComm.NotifyPublishOperations
offer_change
 

Method Detail

push_structured_events

void push_structured_events(StructuredEvent[] notifications)
                            throws Disconnected
The push_structured_events operation takes as input a parameter of type EventBatch as defined in the CosNotification module. This data type is the same as a sequence of Structured Events. Upon invocation, this parameter will contain a sequence of Structured Events being delivered to the consumer by the supplier to which it is connected. If this operation is invoked upon a SequencePushConsumer instance that is not currently connected to the supplier of the event, the Disconnected exception will be raised. Note that the maximum number of events that will be transmitted within a single invocation of this operation, along with the amount of time a supplier of a sequence of Structured Events will accumulate individual events into the sequence before invoking this operation, are controlled by QoS property settings as described in section 2.5.5. In reality there are two types of objects that will support the SequencePushConsumer interface: an object representing an application which receives sequences of Structured Events, and a SequenceProxyPushConsumer (defined in the CosNotifyChannelAdmin module) associated with an event channel which receives sequences of Structured Events from a supplier on behalf of the channel. For the first type of object, the implementation of the push_structured_events operation is application specific, and is intended to be supplied by application developers. For the second type of object, the behavior of the operation is tightly linked to the implementation of the event channel. Basically, it is responsible for applying any filters that have been registered by with the SequenceProxyPushConsumer to each event in each sequence it receives, then either discarding each event or forwarding it to each proxy supplier within the channel depending on whether or not the event passed the filter.

Throws:
Disconnected

disconnect_sequence_push_consumer

void disconnect_sequence_push_consumer()
The disconnect_sequence_push_consumer operation is invoked to terminate a connection between the target SequencePushConsumer, and its associated supplier. This operation takes no input parameters and returns no values. The result of this operation is that the target SequencePushConsumer will release all resources it had allocated to support the connection, and dispose its own object reference.