org.omg.CosNotifyChannelAdmin
Interface SequenceProxyPushSupplierOperations
- All Superinterfaces:
- FilterAdminOperations, NotifySubscribeOperations, ProxySupplierOperations, QoSAdminOperations, SequencePushSupplierOperations
- All Known Subinterfaces:
- SequenceProxyPushSupplier
- All Known Implementing Classes:
- _SequenceProxyPushSupplierStub, SequenceProxyPushSupplierImpl, SequenceProxyPushSupplierPOA, SequenceProxyPushSupplierPOATie
public interface SequenceProxyPushSupplierOperations
- extends ProxySupplierOperations, SequencePushSupplierOperations
The SequenceProxyPushSupplier interface supports connections to the channel by
consumers who will receive events from the channel as sequences of Structured
Events. Through inheritance of the ProxySupplier interface, the
SequenceProxyPushSupplier interface supports administration of various QoS
properties, administration of a list of associated filter objects, and a readonly attribute
containing the reference of the ConsumerAdmin object which created it. In addition,
this inheritance implies that a SequenceProxyPushSupplier 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
instance?s ability to accept a per-event QoS request.
The SequenceProxyPushSupplier interface also inherits from the
SequencePushSupplier interface defined in the CosNotifyComm module. This
interface supports the operation which can be invoked to close down the connection
from the consumer to the SequenceProxyPushSupplier. In addition, since the
SequencePushSupplier interface inherits from the NotifySubscribe interface, a
SequenceProxyPushSupplier can 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.
Lastly, the SequenceProxyPushSupplier 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. The SequenceProxyPushSupplier interface also
defines a pair of operations which can suspend and resume the connection between a
SequenceProxyPushSupplier instance and its associated SequencePushConsumer.
During the time such a connection is suspended, the SequenceProxyPushSupplier
will accumulate events destined for the consumer but not transmit them until the
connection is resumed.
Method Summary |
void |
connect_sequence_push_consumer(SequencePushConsumer push_consumer)
The connect_sequence_push_consumer operation accepts as an input parameter the
reference to an object supporting the SequencePushConsumer interface defined
within the CosNotifyComm module. |
void |
resume_connection()
The resume_connection operation causes the target object supporting the
SequenceProxyPushSupplier interface to resume sending events to the
SequencePushConsumer instance connected to it. |
void |
suspend_connection()
The suspend_connection operation causes the target object supporting the
SequenceProxyPushSupplier interface to stop sending events to the
SequencePushConsumer instance connected to it. |
connect_sequence_push_consumer
void connect_sequence_push_consumer(SequencePushConsumer push_consumer)
throws AlreadyConnected,
TypeError
- The connect_sequence_push_consumer operation accepts as an input parameter the
reference to an object supporting the SequencePushConsumer interface defined
within the CosNotifyComm 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 sequences of Structured Events. This operation is thus invoked in order to establish
a connection between a push-style consumer of events in the form of sequences of
Structured Events, and the notification channel. Once established, the
SequenceProxyPushSupplier will proceed to send events destined for the consumer
to it by invoking its push_structured_events 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 SequenceProxyPushSupplier
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_structured_events in order to transmit events). If the push consumer being
connected does not meet those requirements, this operation raises the TypeError
exception.
- Throws:
AlreadyConnected
TypeError
suspend_connection
void suspend_connection()
throws ConnectionAlreadyInactive,
NotConnected
- The suspend_connection operation causes the target object supporting the
SequenceProxyPushSupplier interface to stop sending events to the
SequencePushConsumer 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
SequencePushConsumer has been connected to the target object when this operation
is invoked, the NotConnected exception is raised. Otherwise, the
SequenceProxyPushSupplier will not forward events to the
SequencePushConsumer connected to it until resume_connection is subsequently
invoked. During this time, the SequenceProxyPushSupplier will continue to queue
events destined for the SequencePushConsumer, 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 SequencePushConsumer.
- Throws:
ConnectionAlreadyInactive
NotConnected
resume_connection
void resume_connection()
throws ConnectionAlreadyActive,
NotConnected
- The resume_connection operation causes the target object supporting the
SequenceProxyPushSupplier interface to resume sending events to the
SequencePushConsumer 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 SequencePushConsumer has
been connected to the target object when this operation is invoked, the NotConnected
exception is raised. Otherwise, the SequenceProxyPushSupplier will resume
forwarding events to the SequencePushConsumer connected to it, including those
which have been queued during the time the connection was suspended, and have not
yet timed out.
- Throws:
ConnectionAlreadyActive
NotConnected