cgl.narada.wsinfra.wsrm
Interface WsrmSequenceMonitor

All Known Implementing Classes:
WsrmSequenceMonitorImpl

public interface WsrmSequenceMonitor

This is a class which will implemented as a thread. There should be only one instance of this thread running per database. This would typically be done by ensuring that the configuration files passed during the initializations are different for different configFiles.


Method Summary
 boolean checkIfMessagesAvailable(WsrmSequenceInfo wsrmSequenceInfo)
          Checks to see if any messages have been stored for this sequence in question.
 boolean checkInactivityTimeout(WsrmSequenceInfo wsrmSequenceInfo)
          Checks to see if the inactivity interval has expired on the sequence in question.
 void checkToIssueAcknowledgements(WsrmSequenceInfo wsrmSequenceInfo)
          This method checks to see if acknowledgements should be issued on a specific sequence.
 void checkToIssueRetransmissions(WsrmSequenceInfo wsrmSequenceInfo)
          This method checks to see if retransmissions need to be issued on the specified sequence.
 void startServices()
          Begin services related to sequence monitoring viz.
 void stopServices()
          Stop services related to sequence monitoring.
 

Method Detail

startServices

public void startServices()
Begin services related to sequence monitoring viz. issue acknowledgements and initiate retransmissions for sequences.


stopServices

public void stopServices()
Stop services related to sequence monitoring.


checkInactivityTimeout

public boolean checkInactivityTimeout(WsrmSequenceInfo wsrmSequenceInfo)
                               throws WsrmStorageException
Checks to see if the inactivity interval has expired on the sequence in question.

Throws:
WsrmStorageException

checkIfMessagesAvailable

public boolean checkIfMessagesAvailable(WsrmSequenceInfo wsrmSequenceInfo)
                                 throws WsrmStorageException
Checks to see if any messages have been stored for this sequence in question.

Throws:
WsrmStorageException

checkToIssueAcknowledgements

public void checkToIssueAcknowledgements(WsrmSequenceInfo wsrmSequenceInfo)
                                  throws MessageFlowException,
                                         WsrmStorageException
This method checks to see if acknowledgements should be issued on a specific sequence. If there is a neeed to do so, it proceeds to issue acknowledgements on the sequence.

Throws:
MessageFlowException
WsrmStorageException

checkToIssueRetransmissions

public void checkToIssueRetransmissions(WsrmSequenceInfo wsrmSequenceInfo)
                                 throws WsrmStorageException,
                                        MessageFlowException
This method checks to see if retransmissions need to be issued on the specified sequence. If a need arises retransmissions are issued and the retransmission interval is reset. There should also be a way to ensure exponential backoff.

Throws:
WsrmStorageException
MessageFlowException