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. |
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.