org.apache.sandesha.storage.queue
Class SandeshaQueue

java.lang.Object
  extended byorg.apache.sandesha.storage.queue.SandeshaQueue

public class SandeshaQueue
extends java.lang.Object

Author:
Chamikara Jayalath, Jaliya Ekanayaka

Field Summary
static UUIDGen uuidGen
           
 
Method Summary
 void addLowPriorityMessage(RMMessageContext msg)
           
 boolean addMessageToIncomingSequence(java.lang.String seqId, java.lang.Long messageNo, RMMessageContext msgCon)
           
 boolean addMessageToOutgoingSequence(java.lang.String seqId, RMMessageContext msgCon)
           
 void addOffer(java.lang.String msgID, java.lang.String offerID)
           
 void addPriorityMessage(RMMessageContext msg)
          Adds a new message to the responses queue.
 void addRequestedSequence(java.lang.String seqId)
           
 void addSendMsgNo(java.lang.String seqId, long msgNo)
           
 RMMessageContext checkForResponseMessage(java.lang.String requestId, java.lang.String seqId)
           
 void clear(boolean yes)
           
 void createNewIncomingSequence(java.lang.String sequenceId)
           
 void createNewOutgoingSequence(java.lang.String sequenceId)
           
 void displayIncomingMap()
           
 void displayOutgoingMap()
           
 void displayPriorityQueue()
           
 java.lang.String getAcksTo(java.lang.String seqId)
           
 java.util.Set getAllReceivedMsgNumsOfIncomingSeq(java.lang.String sequenceId)
           
static SandeshaQueue getInstance(byte endPoint)
           
 java.lang.String getKeyFromIncomingSequenceId(java.lang.String seqId)
           
 java.lang.String getKeyFromOutgoingSequenceId(java.lang.String seqId)
           
 long getLastIncomingMsgNo(java.lang.String seqId)
           
 RMMessageContext getLowPriorityMessageIfAcked()
           
 long getNextOutgoingMessageNumber(java.lang.String seq)
           
 java.lang.String getOffer(java.lang.String msgID)
           
 java.lang.String getSequenceOfOutSequence(java.lang.String outSequence)
           
 boolean hasLastIncomingMsgReceived(java.lang.String seqId)
           
 boolean isAllIncommingTerminateReceived()
           
 boolean isAllOutgoingTerminateSent()
           
 boolean isIncomingMessageExists(java.lang.String sequenceId, java.lang.Long messageNo)
           
 boolean isIncomingSequenceExists(java.lang.String seqId)
           
 boolean isIncommingTerminateReceived(java.lang.String seqId)
           
 boolean isOutgoingSequenceExists(java.lang.String resSeqId)
           
 boolean isOutgoingTerminateSent(java.lang.String seqId)
           
 boolean isRequestedSeqPresent(java.lang.String seqId)
           
 boolean isSentMsg(java.lang.String seqId, long msgNo)
           
 void markOutgoingMessageToDelete(java.lang.String sequenceId, java.lang.Long messageNo)
           
 void movePriorityMsgToBin(java.lang.String messageId)
           
 java.util.List nextAllSeqIdsToProcess()
           
 java.util.List nextAllSeqsToProcess()
           
 RMMessageContext nextIncomingMessageToProcess(java.lang.Object sequence)
           
 RMMessageContext nextOutgoingMessageToSend()
           
 RMMessageContext nextPriorityMessageToSend()
           
 void removeAllAcks(java.lang.String sequenceID)
           
 java.lang.String searchForSequenceId(java.lang.String messageId)
           
 void sendAck(java.lang.String sequenceId)
           
 void setAckReceived(java.lang.String seqId, long msgNo)
           
 void setAcksTo(java.lang.String seqId, java.lang.String acksTo)
           
 void setOutSequence(java.lang.String seqId, java.lang.String outSeqId)
           
 void setOutSequenceApproved(java.lang.String seqId, boolean approved)
           
 void setSequenceLock(java.lang.String sequenceId, boolean lock)
           
 void setTerminateReceived(java.lang.String seqId)
           
 void setTerminateSend(java.lang.String seqId)
           
 void updateFinalMessageArrivedTime(java.lang.String sequenceId)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

uuidGen

public static final UUIDGen uuidGen
Method Detail

getInstance

public static SandeshaQueue getInstance(byte endPoint)

addMessageToIncomingSequence

public boolean addMessageToIncomingSequence(java.lang.String seqId,
                                            java.lang.Long messageNo,
                                            RMMessageContext msgCon)
                                     throws QueueException
Throws:
QueueException

addMessageToOutgoingSequence

public boolean addMessageToOutgoingSequence(java.lang.String seqId,
                                            RMMessageContext msgCon)
                                     throws QueueException
Throws:
QueueException

isIncomingSequenceExists

public boolean isIncomingSequenceExists(java.lang.String seqId)

isOutgoingSequenceExists

public boolean isOutgoingSequenceExists(java.lang.String resSeqId)

nextIncomingMessageToProcess

public RMMessageContext nextIncomingMessageToProcess(java.lang.Object sequence)
                                              throws QueueException
Throws:
QueueException

nextOutgoingMessageToSend

public RMMessageContext nextOutgoingMessageToSend()
                                           throws QueueException
Throws:
QueueException

createNewIncomingSequence

public void createNewIncomingSequence(java.lang.String sequenceId)
                               throws QueueException
Throws:
QueueException

createNewOutgoingSequence

public void createNewOutgoingSequence(java.lang.String sequenceId)
                               throws QueueException
Throws:
QueueException

addPriorityMessage

public void addPriorityMessage(RMMessageContext msg)
                        throws QueueException
Adds a new message to the responses queue.

Throws:
QueueException

addLowPriorityMessage

public void addLowPriorityMessage(RMMessageContext msg)
                           throws QueueException
Throws:
QueueException

nextPriorityMessageToSend

public RMMessageContext nextPriorityMessageToSend()
                                           throws QueueException
Throws:
QueueException

nextAllSeqsToProcess

public java.util.List nextAllSeqsToProcess()

nextAllSeqIdsToProcess

public java.util.List nextAllSeqIdsToProcess()

clear

public void clear(boolean yes)

setSequenceLock

public void setSequenceLock(java.lang.String sequenceId,
                            boolean lock)

getAllReceivedMsgNumsOfIncomingSeq

public java.util.Set getAllReceivedMsgNumsOfIncomingSeq(java.lang.String sequenceId)

isIncomingMessageExists

public boolean isIncomingMessageExists(java.lang.String sequenceId,
                                       java.lang.Long messageNo)

setOutSequence

public void setOutSequence(java.lang.String seqId,
                           java.lang.String outSeqId)

setOutSequenceApproved

public void setOutSequenceApproved(java.lang.String seqId,
                                   boolean approved)

getSequenceOfOutSequence

public java.lang.String getSequenceOfOutSequence(java.lang.String outSequence)

displayOutgoingMap

public void displayOutgoingMap()

displayIncomingMap

public void displayIncomingMap()

displayPriorityQueue

public void displayPriorityQueue()

markOutgoingMessageToDelete

public void markOutgoingMessageToDelete(java.lang.String sequenceId,
                                        java.lang.Long messageNo)

movePriorityMsgToBin

public void movePriorityMsgToBin(java.lang.String messageId)

getNextOutgoingMessageNumber

public long getNextOutgoingMessageNumber(java.lang.String seq)

checkForResponseMessage

public RMMessageContext checkForResponseMessage(java.lang.String requestId,
                                                java.lang.String seqId)

searchForSequenceId

public java.lang.String searchForSequenceId(java.lang.String messageId)

setAckReceived

public void setAckReceived(java.lang.String seqId,
                           long msgNo)

getLowPriorityMessageIfAcked

public RMMessageContext getLowPriorityMessageIfAcked()

addSendMsgNo

public void addSendMsgNo(java.lang.String seqId,
                         long msgNo)

isSentMsg

public boolean isSentMsg(java.lang.String seqId,
                         long msgNo)

hasLastIncomingMsgReceived

public boolean hasLastIncomingMsgReceived(java.lang.String seqId)

getLastIncomingMsgNo

public long getLastIncomingMsgNo(java.lang.String seqId)

addRequestedSequence

public void addRequestedSequence(java.lang.String seqId)

isRequestedSeqPresent

public boolean isRequestedSeqPresent(java.lang.String seqId)

getKeyFromIncomingSequenceId

public java.lang.String getKeyFromIncomingSequenceId(java.lang.String seqId)

getKeyFromOutgoingSequenceId

public java.lang.String getKeyFromOutgoingSequenceId(java.lang.String seqId)

isAllOutgoingTerminateSent

public boolean isAllOutgoingTerminateSent()

isAllIncommingTerminateReceived

public boolean isAllIncommingTerminateReceived()

setTerminateSend

public void setTerminateSend(java.lang.String seqId)

setTerminateReceived

public void setTerminateReceived(java.lang.String seqId)

setAcksTo

public void setAcksTo(java.lang.String seqId,
                      java.lang.String acksTo)

getAcksTo

public java.lang.String getAcksTo(java.lang.String seqId)

addOffer

public void addOffer(java.lang.String msgID,
                     java.lang.String offerID)

getOffer

public java.lang.String getOffer(java.lang.String msgID)

isOutgoingTerminateSent

public boolean isOutgoingTerminateSent(java.lang.String seqId)

isIncommingTerminateReceived

public boolean isIncommingTerminateReceived(java.lang.String seqId)

updateFinalMessageArrivedTime

public void updateFinalMessageArrivedTime(java.lang.String sequenceId)

sendAck

public void sendAck(java.lang.String sequenceId)

removeAllAcks

public void removeAllAcks(java.lang.String sequenceID)