quickfix
Class SessionState

java.lang.Object
  extended by quickfix.SessionState

public final class SessionState
extends java.lang.Object

Used by the session communications code. Not intended to be used by applications. All dynamic data is protected by the session's intrinsic lock. The log and message store implementation must be thread safe.


Constructor Summary
SessionState(java.lang.Object lock, Log log, int heartBeatInterval, boolean initiator, MessageStore messageStore, double testRequestDelayMultiplier)
           
 
Method Summary
 void clearLogoutReason()
           
 void clearQueue()
           
 void clearTestRequestCounter()
           
 Message dequeue(int sequence)
           
 void enqueue(int sequence, Message message)
           
 void get(int first, int last, java.util.Collection<java.lang.String> messages)
           
 java.util.Date getCreationTime()
           
 int getHeartBeatInterval()
           
 long getLastReceivedTime()
           
 long getLastSentTime()
           
 java.lang.Object getLock()
           
 Log getLog()
           
 int getLogonTimeout()
           
 java.lang.String getLogoutReason()
           
 int getLogoutTimeout()
           
 MessageStore getMessageStore()
           
 Message getNextQueuedMessage()
           
 int getNextSenderMsgSeqNum()
           
 int getNextTargetMsgSeqNum()
           
 java.util.Collection<java.lang.Integer> getQueuedSeqNums()
           
 int[] getResendRange()
           
 double getTestRequestDelayMultiplier()
           
 void incrementTestRequestCounter()
           
 void incrNextSenderMsgSeqNum()
           
 void incrNextTargetMsgSeqNum()
           
 boolean isHeartBeatNeeded()
           
 boolean isInitiator()
           
 boolean isLogonAlreadySent()
           
 boolean isLogonReceived()
           
 boolean isLogonSendNeeded()
           
 boolean isLogonSent()
           
 boolean isLogonTimedOut()
           
 boolean isLogoutReceived()
           
 boolean isLogoutSent()
           
 boolean isLogoutTimedOut()
           
 boolean isResendRequested()
           
 boolean isResetReceived()
           
 boolean isResetSent()
           
 boolean isTestRequestNeeded()
           
 boolean isTimedOut()
           
 boolean isWithinHeartBeat()
           
 void lockSenderMsgSeqNum()
           
 void lockTargetMsgSeqNum()
           
 void reset()
           
 boolean set(int sequence, java.lang.String message)
           
 void setHeartBeatInterval(int heartBeatInterval)
           
 void setLastReceivedTime(long lastReceivedTime)
           
 void setLastSentTime(long lastSentTime)
           
 void setLogonReceived(boolean logonReceived)
           
 void setLogonSent(boolean logonSent)
           
 void setLogonTimeout(int logonTimeout)
           
 void setLogoutReason(java.lang.String reason)
           
 void setLogoutReceived(boolean logoutReceived)
           
 void setLogoutSent(boolean logoutSent)
           
 void setLogoutTimeout(int logoutTimeout)
           
 void setNextTargetMsgSeqNum(int sequence)
           
 void setResendRange(int low, int high)
           
 void setResetReceived(boolean resetReceived)
           
 void setResetSent(boolean resetSent)
           
 void unlockSenderMsgSeqNum()
           
 void unlockTargetMsgSeqNum()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SessionState

public SessionState(java.lang.Object lock,
                    Log log,
                    int heartBeatInterval,
                    boolean initiator,
                    MessageStore messageStore,
                    double testRequestDelayMultiplier)
Method Detail

getHeartBeatInterval

public int getHeartBeatInterval()

setHeartBeatInterval

public void setHeartBeatInterval(int heartBeatInterval)

isHeartBeatNeeded

public boolean isHeartBeatNeeded()

isInitiator

public boolean isInitiator()

getLastReceivedTime

public long getLastReceivedTime()

setLastReceivedTime

public void setLastReceivedTime(long lastReceivedTime)

getLastSentTime

public long getLastSentTime()

setLastSentTime

public void setLastSentTime(long lastSentTime)

getLog

public Log getLog()

isLogonAlreadySent

public boolean isLogonAlreadySent()

isLogonReceived

public boolean isLogonReceived()

setLogonReceived

public void setLogonReceived(boolean logonReceived)

isLogonSendNeeded

public boolean isLogonSendNeeded()

isLogonSent

public boolean isLogonSent()

setLogonSent

public void setLogonSent(boolean logonSent)

isLogonTimedOut

public boolean isLogonTimedOut()

setLogonTimeout

public void setLogonTimeout(int logonTimeout)

getLogonTimeout

public int getLogonTimeout()

setLogoutTimeout

public void setLogoutTimeout(int logoutTimeout)

getLogoutTimeout

public int getLogoutTimeout()

isLogoutSent

public boolean isLogoutSent()

setLogoutSent

public void setLogoutSent(boolean logoutSent)

isLogoutReceived

public boolean isLogoutReceived()

setLogoutReceived

public void setLogoutReceived(boolean logoutReceived)

isLogoutTimedOut

public boolean isLogoutTimedOut()

getMessageStore

public MessageStore getMessageStore()

getTestRequestDelayMultiplier

public double getTestRequestDelayMultiplier()

clearTestRequestCounter

public void clearTestRequestCounter()

incrementTestRequestCounter

public void incrementTestRequestCounter()

isTestRequestNeeded

public boolean isTestRequestNeeded()

isTimedOut

public boolean isTimedOut()

isWithinHeartBeat

public boolean isWithinHeartBeat()

set

public boolean set(int sequence,
                   java.lang.String message)
            throws java.io.IOException
Throws:
java.io.IOException

get

public void get(int first,
                int last,
                java.util.Collection<java.lang.String> messages)
         throws java.io.IOException
Throws:
java.io.IOException

enqueue

public void enqueue(int sequence,
                    Message message)

dequeue

public Message dequeue(int sequence)

getNextQueuedMessage

public Message getNextQueuedMessage()

getQueuedSeqNums

public java.util.Collection<java.lang.Integer> getQueuedSeqNums()

clearQueue

public void clearQueue()

lockSenderMsgSeqNum

public void lockSenderMsgSeqNum()

unlockSenderMsgSeqNum

public void unlockSenderMsgSeqNum()

lockTargetMsgSeqNum

public void lockTargetMsgSeqNum()

unlockTargetMsgSeqNum

public void unlockTargetMsgSeqNum()

getNextSenderMsgSeqNum

public int getNextSenderMsgSeqNum()
                           throws java.io.IOException
Throws:
java.io.IOException

getNextTargetMsgSeqNum

public int getNextTargetMsgSeqNum()
                           throws java.io.IOException
Throws:
java.io.IOException

setNextTargetMsgSeqNum

public void setNextTargetMsgSeqNum(int sequence)
                            throws java.io.IOException
Throws:
java.io.IOException

incrNextSenderMsgSeqNum

public void incrNextSenderMsgSeqNum()
                             throws java.io.IOException
Throws:
java.io.IOException

incrNextTargetMsgSeqNum

public void incrNextTargetMsgSeqNum()
                             throws java.io.IOException
Throws:
java.io.IOException

getCreationTime

public java.util.Date getCreationTime()
                               throws java.io.IOException
Throws:
java.io.IOException

reset

public void reset()

setResendRange

public void setResendRange(int low,
                           int high)

isResendRequested

public boolean isResendRequested()

getResendRange

public int[] getResendRange()

isResetReceived

public boolean isResetReceived()

setResetReceived

public void setResetReceived(boolean resetReceived)

isResetSent

public boolean isResetSent()

setResetSent

public void setResetSent(boolean resetSent)

setLogoutReason

public void setLogoutReason(java.lang.String reason)

getLogoutReason

public java.lang.String getLogoutReason()

clearLogoutReason

public void clearLogoutReason()

getLock

public java.lang.Object getLock()