org.omg.CosNotifyChannelAdmin
Interface ProxyConsumerOperations
public
interface
ProxyConsumerOperations
extends QoSAdminOperations, FilterAdminOperations
The ProxyConsumer interface is intended to be an abstract interface that is inherited
by the different varieties of proxy consumers that can be instantiated within a
notification channel. It encapsulates the behaviors common to all Notification Service
proxy consumers. In particular, the ProxyConsumer interface inherits the QoSAdmin
interface defined within the CosNotification module, and the FilterAdmin interface
defined within the CosNotifyFilter module. The former inheritance enables all proxy
consumers to administer a list of associated QoS properties, while the latter inheritance
enables all proxy consumers to administer a list of associated filter objects. Locally,
the ProxyConsumer interface defines a readonly attribute that should be set upon
creation of each proxy consumer instance to indicate the specific type of proxy
consumer the instance represents, and a readonly attribute which maintains a reference
to the SupplierAdmin object that created it. In addition, the ProxyConsumer
interface defines an operation that returns the list of event types a given proxy
consumer instance is configured to forward, and an operation which can be queried to
determine which message level QoS properties can be set on a per-event basis.
Method Summary |
SupplierAdmin | MyAdmin()
The MyAdmin attribute is a readonly attribute that should be set upon creation of each
proxy consumer instance to maintain the reference of the instance supporting the
SupplierAdmin interface that created it. |
ProxyType | MyType()
The MyType attribute is a readonly attribute that should be set upon creation of each
proxy consumer instance to indicate the specific type of proxy consumer the instance
represents.Enumerations are possible to distinguish the type of proxy consumer among
the following possibilities: ProxyPushConsumer, ProxyPullConsumer,
StructuredProxyPushConsumer, StructuredProxyPullConsumer,
SequenceProxyPushConsumer, and SequenceProxyPullConsumer.
|
EventType[] | obtain_subscription_types(ObtainInfoMode mode)
The obtain_subscription_types operation returns a list of event type names. |
void | validate_event_qos(Property[] required_qos, NamedPropertyRangeSeqHolder available_qos)
The validate_event_qos operation accepts as input a sequence of QoS property name-value
pairs which specify a set of QoS settings that a client is interested in setting on a
per-event basis. |
The MyAdmin attribute is a readonly attribute that should be set upon creation of each
proxy consumer instance to maintain the reference of the instance supporting the
SupplierAdmin interface that created it.
The MyType attribute is a readonly attribute that should be set upon creation of each
proxy consumer instance to indicate the specific type of proxy consumer the instance
represents.Enumerations are possible to distinguish the type of proxy consumer among
the following possibilities: ProxyPushConsumer, ProxyPullConsumer,
StructuredProxyPushConsumer, StructuredProxyPullConsumer,
SequenceProxyPushConsumer, and SequenceProxyPullConsumer.
The obtain_subscription_types operation returns a list of event type names. This
returned list represents the names of event types which consumers connected to the
channel are interested in receiving. Consumers express their interest in receiving
particular types of events by configuring filters associated with the proxy suppliers to
which they are connected to encapsulate constraints which express subscriptions to
specific event instances. Such subscriptions could be based on the types and/or
contents of events. The proxy suppliers extract the event type information from these
subscriptions, and share it with the proxy consumer objects connected to the same
channel. Supplier objects can thus obtain this information from the channel by
invoking the obtain_subscription_types operation on the proxy consumer object to
which they are connected. This information enables suppliers to suppress sending types
of events to the channel in which no consumer is currently interested.
Note that suppliers can also receive updates to subscription information automatically
by enabling the channel to invoke the subscription_change operation they support
through inheritence of the CosNotifyComm::NotifySubscribe interface each time a
new type of event is added or removed through modification of filters. The
obtain_subscription_types operation accepts as input a flag that enables
synchronization between the subscription information obtain through these automatic
updates, and that obtained through invocation of obtain_subscription_types. The table
below summarizes the possible values and associated meanings this flag can take on:
Parameters: mode Mode of recuperation
Returns: All subscription types
The validate_event_qos operation accepts as input a sequence of QoS property name-value
pairs which specify a set of QoS settings that a client is interested in setting on a
per-event basis. Note that the QoS property settings contained in the optional header
fields of a Structured Event may differ from those that are configured on a given proxy
object. This operation is essentially a check to see if the target proxy object will honor
the setting of a set of QoS properties on a per-event basis to values that may conflict
with those set on the proxy itself. If any of the requested settings would not be honored
by the target object on a per-event basis, the operation raises the UnsupportedQoS
exception. This exception contains as data a sequence of data structures, each of which
identifies the name of a QoS property in the input list whose requested setting could
not be satisfied, along with an error code and a range of settings for the property which
could be satisfied. The meanings of the error codes which might be returned are
described in Table 2-5.
If all requested QoS property value settings could be satisfied by the target object, the
operation returns successfully with an output parameter that contains a sequence of
PropertyRange data structures. Each element in this sequence includes the name of a
an additional QoS property whose setting is supported by the target object on a per-event
basis and which could have been included on the input list while still resulting in
a successful return from the operation. Each element also includes the range of values
that would have been acceptable for each such property.
Parameters: required_qos available_qos
Throws: org.omg.CosNotification.UnsupportedQoS Qos Property was not supported in this implementation