org.omg.CosNotifyChannelAdmin
Interface ProxyPushSupplierOperations
public
interface
ProxyPushSupplierOperations
extends ProxySupplierOperations, PushSupplierOperations
The ProxyPushSupplier interface supports connections to the channel by consumers
who will receive events from the channel as untyped Anys.
Through inheritance of the ProxySupplier interface, the ProxyPushSupplier 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 the ConsumerAdmin object which created it. In addition,
this inheritance implies that a ProxyPushSupplier 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 instances ability
to accept a per-event QoS request.
The ProxyPushSupplier interface also inherits from the PushSupplier interface
defined within the CosNotifyComm module. This interface supports the operation
required to disconnect the ProxyPushSupplier from its associated consumer. In
addition, since the inherited PushSupplier interface inherits the
CosNotifyComm::NotifySubscribe interface, an instance supporting the
ProxyPushSupplier interface can be informed whenever the list of event types that the
consumer connected to it is interested in receiving changes.
Lastly, the ProxyPushSupplier 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. Note that this can be either a pure event service style,
or a notification service style push consumer.The ProxyPushSupplier interface also
defines a pair of operations which can suspend and resume the connection between a
ProxyPushSupplier instance and its associated PushConsumer. During the time such
a connection is suspended, the ProxyPushSupplier will accumulate events destined
for the consumer but not transmit them until the connection is resumed.
Method Summary |
void | connect_any_push_consumer(PushConsumer push_consumer)
The connect_any_push_consumer operation accepts as an input parameter the
reference to an object supporting the PushConsumer interface defined within the
CosEventComm module. |
void | resume_connection()
The resume_connection operation causes the target object supporting the
ProxyPushSupplier interface to resume sending events to the PushConsumer
instance connected to it. |
void | suspend_connection()
The suspend_connection operation causes the target object supporting the
ProxyPushSupplier interface to stop sending events to the PushConsumer instance
connected to it. |
public void connect_any_push_consumer(
PushConsumer push_consumer)
The connect_any_push_consumer operation accepts as an input parameter the
reference to an object supporting the PushConsumer interface defined within the
CosEventComm 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
untyped Anys. This operation is thus invoked in order to establish a connection
between a push-style consumer of events in the form of Anys, and the notification
channel. Once established, the ProxyPushSupplier will proceed to send events
destined for the consumer to it by invoking its push 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 ProxyPushSupplier 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 in order to transmit events).
If the push consumer being connected does not meet those requirements, this operation
raises the TypeError exception.
Note that because the PushConsumer interface defined in the CosNotifyComm
module inherits from the PushConsumer interface defined in the CosEventComm
module, the input parameter to this operation could be either a pure event service style,
or a notification service style push consumer. The only difference between the two are
that the latter also supports the NotifyPublish interface, and thus can be the target of
offer_change invocations. The implementation of the ProxyPushSupplier interface
should attempt to narrow the input parameter to CosNotifyComm::PushConsumer in
order to determine which style of push consumer is connecting to it.
public void resume_connection()
The resume_connection operation causes the target object supporting the
ProxyPushSupplier interface to resume sending events to the PushConsumer
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 PushConsumer has been connected to the target object when
this operation is invoked, the NotConnected exception is raised. Otherwise, the
ProxyPushSupplier will resume forwarding events to the PushConsumer connected
to it, including those which have been queued during the time the connection was
suspended, and have not yet timed out.
public void suspend_connection()
The suspend_connection operation causes the target object supporting the
ProxyPushSupplier interface to stop sending events to the PushConsumer 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 PushConsumer has been connected to the target object when
this operation is invoked, the NotConnected exception is raised. Otherwise, the
ProxyPushSupplier will not forward events to the PushConsumer connected to it
until resume_connection is subsequently invoked. During this time, the
ProxyPushSupplier will continue to queue events destined for the PushConsumer,
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
PushConsumer.