org.wso2.mercury.state
Class RMSSequence
java.lang.Object
org.wso2.mercury.state.RMSSequence
public class RMSSequence
- extends java.lang.Object
this class is used to keep the RMS sequence. RMS Sequence is
depends on four parameters
SS - Sequence Started
MIB - Messages in the buffer
TMR - terminate message received
LMR - last message received
Here we assume either TMR or LMR occurs.
Collectively these four state variables forms 16 possible states
but only 7 states can realy exists.
External events that can change this state machine are
CRR - Create Sequence Response Receive
LMR - Last message receive
TMR - Terminate message receive
ACKALL - Receive Acknowledgments for all messages.
when those event occurs they change the sate accordingly
seqence processor always go through this state table and do
the appropriate tasks according to the state.
Constructor Summary |
RMSSequence(int state,
org.apache.axis2.addressing.EndpointReference endPointReference)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RETRANSMIT_TIME
public static long RETRANSMIT_TIME
TIMEOUT_TIME
public static long TIMEOUT_TIME
STATE_0100
public static final int STATE_0100
- See Also:
- Constant Field Values
STATE_0101
public static final int STATE_0101
- See Also:
- Constant Field Values
STATE_0110
public static final int STATE_0110
- See Also:
- Constant Field Values
STATE_1110
public static final int STATE_1110
- See Also:
- Constant Field Values
STATE_1000
public static final int STATE_1000
- See Also:
- Constant Field Values
STATE_1100
public static final int STATE_1100
- See Also:
- Constant Field Values
STATE_1101
public static final int STATE_1101
- See Also:
- Constant Field Values
STATE_TERMINATE
public static final int STATE_TERMINATE
- See Also:
- Constant Field Values
RMSSequence
public RMSSequence(int state,
org.apache.axis2.addressing.EndpointReference endPointReference)
addRMMessageContext
public void addRMMessageContext(RMApplicationMessage message,
org.apache.axis2.context.MessageContext messageContext)
throws PersistenceException
- Throws:
PersistenceException
doActions
public void doActions()
throws org.apache.axis2.AxisFault,
RMMessageBuildingException
- sender worker invokes this method time to time and excecute the correct actions
- Throws:
org.apache.axis2.AxisFault
RMMessageBuildingException
createSequenceResponseReceived
public void createSequenceResponseReceived()
throws PersistenceException
- create sequence message received event has occured do the necessary state changes accordingly.
this event is only relavant to the sequence started state.
- Throws:
PersistenceException
removeRelationShips
public void removeRelationShips(org.apache.axis2.client.Options options)
sendApplicationMessageResponse
public void sendApplicationMessageResponse(org.apache.axis2.context.MessageContext inboundMessageContext,
long inMessageNumber)
throws org.apache.axis2.AxisFault,
RMMessageBuildingException
- Throws:
org.apache.axis2.AxisFault
RMMessageBuildingException
sequenceAcknowledgmentReceived
public void sequenceAcknowledgmentReceived(java.util.List acknowledgmentRanges)
throws PersistenceException
- Throws:
PersistenceException
isNumberAcknowledged
public boolean isNumberAcknowledged(long number,
java.util.List acknowledgments)
applicationMessageReceivedFromClient
public void applicationMessageReceivedFromClient(RMApplicationMessage message,
org.apache.axis2.context.MessageContext messageContext)
throws PersistenceException
- Throws:
PersistenceException
lastMessageReceivedFromClient
public void lastMessageReceivedFromClient(RMApplicationMessage message,
org.apache.axis2.context.MessageContext messageContext)
throws PersistenceException
- Throws:
PersistenceException
terminateMessageReceivedFromClient
public void terminateMessageReceivedFromClient()
throws PersistenceException
- Throws:
PersistenceException
sendTerminateSequenceMessage
public void sendTerminateSequenceMessage(org.apache.axis2.context.MessageContext inboundMessageContext)
throws org.apache.axis2.AxisFault,
RMMessageBuildingException
- Throws:
org.apache.axis2.AxisFault
RMMessageBuildingException
save
public void save(long internalKeyID)
throws PersistenceException
- Throws:
PersistenceException
populatePersistnaceData
public void populatePersistnaceData(org.apache.axis2.context.MessageContext messageContext,
RMSSequenceDto rmsSequenceDto)
throws PersistenceException,
org.apache.axis2.AxisFault
- Throws:
PersistenceException
org.apache.axis2.AxisFault
invalidCreateSequenceResponseReceived
public void invalidCreateSequenceResponseReceived()
throws org.apache.axis2.AxisFault
- Throws:
org.apache.axis2.AxisFault
soapFaultOccured
public void soapFaultOccured()
throws org.apache.axis2.AxisFault
- Throws:
org.apache.axis2.AxisFault
getSequenceID
public java.lang.String getSequenceID()
setSequenceID
public void setSequenceID(java.lang.String sequenceID)
getAckToEpr
public org.apache.axis2.addressing.EndpointReference getAckToEpr()
setAckToEpr
public void setAckToEpr(org.apache.axis2.addressing.EndpointReference ackToEpr)
getState
public int getState()
setState
public void setState(int state)
getLastAccessedTime
public long getLastAccessedTime()
setLastAccessedTime
public void setLastAccessedTime(long lastAccessedTime)
getAxis2Info
public Axis2Info getAxis2Info()
setAxis2Info
public void setAxis2Info(Axis2Info axis2Info)
getSequenceOffer
public java.lang.String getSequenceOffer()
setSequenceOffer
public void setSequenceOffer(java.lang.String sequenceOffer)
getPersistanceDto
public RMSSequenceDto getPersistanceDto()
setPersistanceDto
public void setPersistanceDto(RMSSequenceDto persistanceDto)
isAnnonymous
public boolean isAnnonymous()
setAnnonymous
public void setAnnonymous(boolean annonymous)
getOfferedRMDSequence
public RMDSequence getOfferedRMDSequence()
setOfferedRMDSequence
public void setOfferedRMDSequence(RMDSequence offeredRMDSequence)
getErrorCallback
public MercuryErrorCallback getErrorCallback()
setErrorCallback
public void setErrorCallback(MercuryErrorCallback errorCallback)
~~~~~~~~~~~~~~~~~~~ Mercury ~~~~~~~~~~~~~~~~~~~~~