org.jacorb.notification.servant

Class SequenceProxyPushSupplierImpl

Implemented Interfaces:
Configurable, Disposable, FilterAdminOperations, FilterStage, ManageableServant, MessageConsumer, NotifySubscribeOperations, ProxySupplierOperations, QoSAdminOperations, SequenceProxyPushSupplierOperations, SequencePushSupplierOperations, StructuredProxyPushSupplierOperations, StructuredPushSupplierOperations

public class SequenceProxyPushSupplierImpl
extends StructuredProxyPushSupplierImpl
implements SequenceProxyPushSupplierOperations

Version:
$Id: SequenceProxyPushSupplierImpl.java,v 1.8 2004/05/06 12:40:00 nicolas Exp $

Author:
Alphonse Bendt

Field Summary

Fields inherited from class org.jacorb.notification.servant.AbstractProxySupplier

scheduleDeliverPendingMessagesOperation_

Fields inherited from class org.jacorb.notification.servant.AbstractProxy

admin_, channelContext_, id_, isIDPublic_, lifetimeFilter_, logger_, offerManager_, priorityFilter_, qosSettings_, subscriptionManager_, thisServant_

Constructor Summary

SequenceProxyPushSupplierImpl(AbstractAdmin myAdminServant, ChannelContext channelContext)
this callback is called by the TimerDaemon.

Method Summary

ProxyType
MyType()
void
connect_sequence_push_consumer(SequencePushConsumer consumer)
protected void
connectionResumed()
protected void
connectionSuspended()
void
deliverMessage(Message event)
TODO check error handling when push fails
void
deliverPendingData()
overrides the superclass version.
protected void
disconnectClient()
void
disconnect_sequence_push_supplier()
Servant
getServant()
void
preActivate()

Methods inherited from class org.jacorb.notification.servant.StructuredProxyPushSupplierImpl

MyType, activate, connect_structured_push_consumer, connectionResumed, deliverMessage, deliverPendingData, disconnectClient, disconnect_structured_push_supplier, getMessageConsumer, getServant, getSubsequentFilterStages, hasMessageConsumer

Methods inherited from class org.jacorb.notification.servant.AbstractProxySupplier

MyAdmin, configure, connectClient, disableDelivery, dispose, enableDelivery, enqueue, getAllMessages, getAtLeastMessages, getErrorThreshold, getExecutor, getMessageBlocking, getMessageNoBlock, getPendingMessagesCount, getUpToMessages, handleFailedPushOperation, hasPendingData, isEnabled, isPushSupplier, obtain_offered_types, preActivate, setTaskExecutor, setTaskExecutor, subscription_change

Methods inherited from class org.jacorb.notification.servant.AbstractProxy

MyType, _default_POA, add_filter, assertConnected, assertNotConnected, checkStillConnected, configure, connectClient, connectionResumed, connectionSuspended, deactivate, disconnectClient, dispose, getErrorCounter, getFilters, getID, getLifetimeFilter, getORB, getPOA, getPriorityFilter, getTaskProcessor, get_all_filters, get_filter, get_qos, handleDisconnected, hasInterFilterGroupOperatorOR, hasLifetimeFilter, hasPriorityFilter, incErrorCounter, isConnected, isDisposed, isIDPublic, isSuspended, lifetime_filter, lifetime_filter, preActivate, priority_filter, priority_filter, remove_all_filters, remove_filter, resetErrorCounter, resume_connection, setDisposeHook, setID, setORB, setOfferManager, setPOA, setSubscriptionManager, setTaskProcessor, set_qos, suspend_connection, validate_event_qos, validate_qos

Constructor Details

SequenceProxyPushSupplierImpl

public SequenceProxyPushSupplierImpl(AbstractAdmin myAdminServant,
                                     ChannelContext channelContext)
this callback is called by the TimerDaemon. Check if there are pending Events and deliver them to the Consumer. As there's only one TimerDaemon its important to block the daemon only a minimal amount of time. Therefor the Callback does not do the actual delivery. Instead a DeliverTask is scheduled for this Supplier.

Method Details

MyType

public ProxyType MyType()
Specified by:
MyType in interface ProxySupplierOperations
Overrides:
MyType in interface StructuredProxyPushSupplierImpl


connect_sequence_push_consumer

public void connect_sequence_push_consumer(SequencePushConsumer consumer)
            throws AlreadyConnected,
                   TypeError
Specified by:
connect_sequence_push_consumer in interface SequenceProxyPushSupplierOperations


connectionResumed

protected void connectionResumed()
Overrides:
connectionResumed in interface StructuredProxyPushSupplierImpl


connectionSuspended

protected void connectionSuspended()
Overrides:
connectionSuspended in interface AbstractProxy


deliverMessage

public void deliverMessage(Message event)
TODO check error handling when push fails
Specified by:
deliverMessage in interface MessageConsumer
Overrides:
deliverMessage in interface StructuredProxyPushSupplierImpl


deliverPendingData

public void deliverPendingData()
overrides the superclass version.
Specified by:
deliverPendingData in interface MessageConsumer
Overrides:
deliverPendingData in interface StructuredProxyPushSupplierImpl


disconnectClient

protected void disconnectClient()
Overrides:
disconnectClient in interface StructuredProxyPushSupplierImpl


disconnect_sequence_push_supplier

public void disconnect_sequence_push_supplier()
Specified by:
disconnect_sequence_push_supplier in interface SequencePushSupplierOperations


getServant

public Servant getServant()
Overrides:
getServant in interface StructuredProxyPushSupplierImpl


preActivate

public void preActivate()
            throws UnsupportedQoS
Specified by:
preActivate in interface ManageableServant
Overrides:
preActivate in interface AbstractProxySupplier