Remaining Bodydomain_name
STRUCTURED_EVENT, SEQUENCE_EVENT
3.4.6 The ProxyPullSupplier Interface
TheProxyPullSupplierinterface supports connections to the channel by consumers who will pull events from the channel as untyped Anys.
Through inheritance of theProxySupplierinterface, theProxyPullSupplier
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 theConsumerAdminobject that created it. In addition, this inheritance implies that aProxyPullSupplierinstance 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.
TheProxyPullSupplierinterface also inherits from thePullSupplierinterface defined within theCosNotifyCommmodule. This interface supports thepulland
try_pulloperations which the consumer connected to aProxyPullSupplier instance will invoke to receive an event from the channel in the form of an Any, and the operation required to disconnect theProxyPullSupplierfrom its associated consumer. In addition, since the inheritedPullSupplierinterface inherits the
CosNotifyComm::NotifySubscribeinterface, an instance supporting the
ProxyPullSupplierinterface can be informed whenever the list of event types that the consumer connected to it is interested in receiving changes.
Finally, theProxyPullSupplierinterface defines the operation which can be invoked by a pull consumer to establish the connection over which the pull consumer will receive events from the channel. Note that this can be either a pure event service style, or a notification service style pull consumer.
3.4.6.1 connect_any_pull_consumer
Theconnect_any_pull_consumeroperation accepts as an input parameter the reference to an object supporting thePullConsumerinterface defined within the
CosEventCommmodule. This reference is that of a consumer that plans to pull events from 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 consumer of events in the form of Anys, and the notification channel. Once established, the consumer can proceed to receive events from the channel by invoking thepullortry_pull operations supported by the target
ProxyPullSupplierinstance. If the target object of this operation is already connected to a pull consumer object, theAlreadyConnectedexception will be raised.
Note that because thePullConsumerinterface defined in theCosNotifyComm
module inherits from thePullConsumerinterface defined in theCosEventComm
module, the input parameter to this operation could be either a pure event service style, or a notification service style pull consumer. The only difference between the two are that the latter also supports theNotifyPublishinterface, and thus can be the target of
offer_changeinvocations. The implementation of theProxyPullSupplierinterface should attempt to narrow the input parameter toCosNotifyComm::PullConsumer
in order to determine which style of pull consumer is connecting to it.
3.4.7 The StructuredProxyPullSupplier Interface
TheStructuredProxyPullSupplierinterface supports connections to the channel by consumers who will pull events from the channel as Structured Events. Through inheritance of theProxySupplierinterface, theStructuredProxyPullSupplier
interface supports administration of various QoS properties, administration of a list of associated filter objects, and a readonly attribute containing the reference of the
ConsumerAdminobject that created it. In addition, this inheritance implies that a
StructuredProxyPullSupplierinstance 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.
TheStructuredProxyPullSupplierinterface also inherits from the
StructuredPullSupplierinterface defined in theCosNotifyCommmodule. This interface supports the operations that enable a consumer of Structured Events to pull them from theStructuredProxyPullSupplier, and also the operation that can be invoked to close down the connection from the consumer to the
StructuredProxyPullSupplier. In addition, since theStructuredPullSupplier
interface inherits from theNotifySubscribeinterface, a
StructuredProxyPullSuppliercan 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, “Event Filtering with Filter Objects,” on page 2-17.
Lastly, theStructuredProxyPullSupplierinterface defines a method that can be invoked by a pull-style consumer of Structured Events in order to establish a
connection between the consumer and a notification channel over which the consumer will proceed to receive events.
3.4.7.1 connect_structured_pull_consumer
Theconnect_structured_pull_consumeroperation accepts as an input parameter the reference to an object supporting theStructuredPullConsumerinterface defined within theCosNotifyCommmodule. This reference is that of a consumer that plans to pull events from the channel to which the target object is associated in the form of Structured Events. This operation is thus invoked in order to establish a connection between a pull-style consumer of events in the form of Structured Events, and the notification channel. Once established, the consumer can proceed to receive events from the channel by invoking thepull_structured_eventor
try_pull_structured_eventoperations supported by the target
StructuredProxyPullSupplierinstance. If the target object of this operation is already connected to a pull consumer object, theAlreadyConnectedexception will be raised.