biz.onixs.fix.engine
Class SessionImpl

java.lang.Object
  extended by biz.onixs.fix.engine.SessionImpl

public class SessionImpl
extends Object


Field Summary
protected  Connection cn_
           
 Semaphore disconnectedSem_
           
protected  String errorReason_
           
 Semaphore establishedSem_
           
 boolean isFirstConfirmingLogonReceived_
           
protected  boolean isLogonSuccessful_
           
protected  boolean keepSequenceNumbers_
           
protected  OutQueue outQueue_
           
protected  SessionState previousState
           
protected  biz.onixs.fix.engine.SessionInternal self_
           
protected  SessionState state_
           
protected  SessionStorage storage
           
 String testRequestID_
           
 Semaphore testRequestSemaphore_
           
 
Method Summary
 void breakConnection()
           
 void changeState(SessionState state)
           
 void closeLink()
           
protected  void connectAsAcceptor_impl()
           
 void connectAsAcceptor()
           
 void connectAsInitiator(String host, int port, int heartBtInt, Message customLogonMsg, boolean setResetSeqNumFlag)
           
 void disconnect()
           
 void disconnect(String text)
           
 void enqueue(List<Message> messages)
           
 void enqueue(Message message)
           
 void enqueue(Message message, long msgNum)
           
 void enqueue(Message msg, long msgNum, boolean closeLink, boolean removePreviousMessages)
           
 boolean enqueue(Message message, long timeout, TimeUnit unit)
           
 void enqueueFirstLogon()
           
 boolean enqueueNB(List<Message> messages)
           
 boolean enqueueNB(Message message)
           
 boolean enqueueNB(Message message, long msgNum)
           
 Message findSentMessage(long messageSequenceNumber)
           
 SessionId getId()
           
 MessageFilter getInboundMessageLogFilter()
           
 boolean getLogInboundMessages()
           
 long getMaxStorageSize()
           
 SocketAddress getNetworkInterface()
           
 long getOutboundQueueBytes()
           
 long getOutboundQueueCount()
           
 SessionState getPreviousState()
           
 int getReasonableTransmissionTime()
           
 int getReceiveBufferSize()
           
 int getReceiveTimeout()
           
 int getResendRequestMaximumRange()
           
 int getSendBufferSize()
           
 String getSenderCompId()
           
 String getSenderLocationID()
           
 String getSenderSubID()
           
 SessionState getState()
           
 SessionStorage getStorage()
           
 String getStorageID()
           
 StorageRepository getStorageRepository()
           
 String getTargetCompId()
           
 String getTargetLocationID()
           
 String getTargetSubID()
           
 boolean getTcpNoDelay()
           
 int heartBtInt()
           
 void heartBtInt(int value)
           
 String id()
           
 long incInMsgNum(long msgSeqNum)
           
 void incrementInSeqNum()
           
 long inSeqNum()
           
 void inSeqNum(long value)
           
 boolean isProcessLogonNextExpectedMsgSeqNum()
           
 boolean isSpecifyLastMsgSeqNumProcessed()
           
static String makeId(String sender, String target, Version version, String token)
           
static String makeId(ValuePtr sender, ValuePtr target, Version version, String token)
           
 int numberOfReceiveTimeouts()
           
 void numberOfReceiveTimeouts(int value)
           
 void onCannotReconnect()
           
 void onClosedLink()
           
 void onIncomingConnection(Connection cn, InetAddress remoteAddress, int remotePort)
           
 boolean onIncomingMsg(Message msg, biz.onixs.util.ByteBuffer rawMsg)
           
 boolean onLinkError(String linkErrorReason)
           
 void onParseError(ParserException ex, biz.onixs.util.ByteBuffer rawMsg)
           
 boolean onReceiveTimeout()
           
 void onSenderInactivity()
           
 void onWarning(Session.WarningReason reason, String description)
           
 OutQueue outQueue()
           
 long outSeqNum()
           
 void outSeqNum(long value)
           
 String remoteHost()
           
 int remotePort()
           
 void reset()
           
 void resetSeqNum()
           
 SessionRole role()
           
 void send(List<Message> messages)
           
 void send(Message message)
           
 boolean send(Message message, long timeout, TimeUnit unit)
           
 boolean sendNB(List<Message> messages)
           
 boolean sendNB(Message message)
           
 void sendTestRequest(String testReqID, long timeoutInMilliseconds)
           
 void setInboundMessageLogFilter(MessageFilter inboundMessageLogFilter)
           
 void setLogInboundMessages(boolean logInboundMessages)
           
 void setMaxStorageSize(long maximumSize)
           
 void setNetworkInterface(SocketAddress bindAddress)
           
 void setReasonableTransmissionTime(int reasonableTransmissionTime)
           
 void setReceiveBufferSize(int size)
           
 void setResendRequestMaximumRange(int range)
           
 void setSendBufferSize(int sendBufferSize)
           
 void setSenderLocationID(String senderLocationID)
           
 void setSenderSubID(String senderSubID)
           
 void setSpecifyLastMsgSeqNumProcessed(boolean specifyLastMsgSeqNumProcessed)
           
 void setSSLContext(SSLContext sslContext)
           
 void setTargetLocationID(String targetLocationID)
           
 void setTargetSubID(String targetSubID)
           
 void setTcpNoDelay(boolean on)
           
 SessionStorage storage()
           
 void terminate()
           
 String token()
           
 String toString()
          Returns a string that represents the current session.
 String toStringDetailed()
           
 boolean useMillisecondsInSendingTimeField()
           
 void useMillisecondsInSendingTimeField(boolean value)
           
 Version version()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

isFirstConfirmingLogonReceived_

public boolean isFirstConfirmingLogonReceived_

disconnectedSem_

public final Semaphore disconnectedSem_

establishedSem_

public final Semaphore establishedSem_

testRequestSemaphore_

public final Semaphore testRequestSemaphore_

cn_

protected Connection cn_

state_

protected volatile SessionState state_

previousState

protected volatile SessionState previousState

outQueue_

protected OutQueue outQueue_

storage

protected SessionStorage storage

self_

protected biz.onixs.fix.engine.SessionInternal self_

isLogonSuccessful_

protected boolean isLogonSuccessful_

errorReason_

protected String errorReason_

keepSequenceNumbers_

protected boolean keepSequenceNumbers_

testRequestID_

public String testRequestID_
Method Detail

makeId

public static String makeId(String sender,
                            String target,
                            Version version,
                            String token)

makeId

public static String makeId(ValuePtr sender,
                            ValuePtr target,
                            Version version,
                            String token)

getId

public SessionId getId()

getReceiveTimeout

public int getReceiveTimeout()

setMaxStorageSize

public void setMaxStorageSize(long maximumSize)

getMaxStorageSize

public long getMaxStorageSize()

setSSLContext

public void setSSLContext(SSLContext sslContext)

getReceiveBufferSize

public int getReceiveBufferSize()

setReceiveBufferSize

public void setReceiveBufferSize(int size)

getSendBufferSize

public int getSendBufferSize()

setSendBufferSize

public void setSendBufferSize(int sendBufferSize)

getInboundMessageLogFilter

public MessageFilter getInboundMessageLogFilter()

setInboundMessageLogFilter

public void setInboundMessageLogFilter(MessageFilter inboundMessageLogFilter)

useMillisecondsInSendingTimeField

public boolean useMillisecondsInSendingTimeField()

useMillisecondsInSendingTimeField

public void useMillisecondsInSendingTimeField(boolean value)

id

public String id()

getSenderSubID

public String getSenderSubID()

setSenderSubID

public void setSenderSubID(String senderSubID)

getTargetSubID

public String getTargetSubID()

setTargetSubID

public void setTargetSubID(String targetSubID)

getSenderLocationID

public String getSenderLocationID()

setSenderLocationID

public void setSenderLocationID(String senderLocationID)

getTargetLocationID

public String getTargetLocationID()

setTargetLocationID

public void setTargetLocationID(String targetLocationID)

version

public Version version()

setTcpNoDelay

public void setTcpNoDelay(boolean on)

getTcpNoDelay

public boolean getTcpNoDelay()

sendTestRequest

public void sendTestRequest(String testReqID,
                            long timeoutInMilliseconds)
                     throws EngineException
Throws:
EngineException

getStorageID

public String getStorageID()

onIncomingConnection

public void onIncomingConnection(Connection cn,
                                 InetAddress remoteAddress,
                                 int remotePort)

onIncomingMsg

public boolean onIncomingMsg(Message msg,
                             biz.onixs.util.ByteBuffer rawMsg)
                      throws IOException
Throws:
IOException

getLogInboundMessages

public boolean getLogInboundMessages()

setLogInboundMessages

public void setLogInboundMessages(boolean logInboundMessages)

getOutboundQueueCount

public long getOutboundQueueCount()

getOutboundQueueBytes

public long getOutboundQueueBytes()

heartBtInt

public int heartBtInt()

heartBtInt

public void heartBtInt(int value)

outSeqNum

public void outSeqNum(long value)

outSeqNum

public long outSeqNum()

incrementInSeqNum

public void incrementInSeqNum()
                       throws IOException
Throws:
IOException

inSeqNum

public void inSeqNum(long value)
              throws IOException
Throws:
IOException

inSeqNum

public long inSeqNum()

connectAsAcceptor

public void connectAsAcceptor()
                       throws IOException
Throws:
IOException

connectAsInitiator

public void connectAsInitiator(String host,
                               int port,
                               int heartBtInt,
                               Message customLogonMsg,
                               boolean setResetSeqNumFlag)
                        throws IOException
Throws:
IOException

disconnect

public void disconnect(String text)
                throws IOException
Throws:
IOException

disconnect

public void disconnect()
                throws IOException
Throws:
IOException

role

public SessionRole role()

send

public void send(Message message)
          throws IOException
Throws:
IOException

send

public boolean send(Message message,
                    long timeout,
                    TimeUnit unit)

sendNB

public boolean sendNB(Message message)

send

public void send(List<Message> messages)

sendNB

public boolean sendNB(List<Message> messages)

changeState

public void changeState(SessionState state)

enqueue

public void enqueue(Message msg,
                    long msgNum,
                    boolean closeLink,
                    boolean removePreviousMessages)

enqueue

public boolean enqueue(Message message,
                       long timeout,
                       TimeUnit unit)

enqueueNB

public boolean enqueueNB(Message message)

enqueueNB

public boolean enqueueNB(Message message,
                         long msgNum)

enqueue

public void enqueue(List<Message> messages)

enqueueNB

public boolean enqueueNB(List<Message> messages)

enqueue

public void enqueue(Message message,
                    long msgNum)
             throws IOException
Throws:
IOException

enqueue

public void enqueue(Message message)
             throws IOException
Throws:
IOException

outQueue

public OutQueue outQueue()

getSenderCompId

public String getSenderCompId()

getTargetCompId

public String getTargetCompId()

token

public String token()

onParseError

public void onParseError(ParserException ex,
                         biz.onixs.util.ByteBuffer rawMsg)
                  throws IOException
Throws:
IOException

incInMsgNum

public long incInMsgNum(long msgSeqNum)

onLinkError

public boolean onLinkError(String linkErrorReason)

getStorageRepository

public StorageRepository getStorageRepository()

storage

public SessionStorage storage()

enqueueFirstLogon

public void enqueueFirstLogon()
                       throws IOException
Throws:
IOException

onSenderInactivity

public void onSenderInactivity()
                        throws IOException
Throws:
IOException

reset

public void reset()
           throws Exception
Throws:
Exception

onReceiveTimeout

public boolean onReceiveTimeout()
                         throws IOException
Throws:
IOException

numberOfReceiveTimeouts

public int numberOfReceiveTimeouts()

numberOfReceiveTimeouts

public void numberOfReceiveTimeouts(int value)

closeLink

public void closeLink()

onClosedLink

public void onClosedLink()

terminate

public void terminate()
               throws IOException
Throws:
IOException

remoteHost

public String remoteHost()

remotePort

public int remotePort()

getState

public SessionState getState()

getPreviousState

public SessionState getPreviousState()

onCannotReconnect

public void onCannotReconnect()

onWarning

public void onWarning(Session.WarningReason reason,
                      String description)

resetSeqNum

public void resetSeqNum()
                 throws IOException
Throws:
IOException

connectAsAcceptor_impl

protected void connectAsAcceptor_impl()
                               throws IOException
Throws:
IOException

getNetworkInterface

public SocketAddress getNetworkInterface()

setNetworkInterface

public void setNetworkInterface(SocketAddress bindAddress)

setReasonableTransmissionTime

public void setReasonableTransmissionTime(int reasonableTransmissionTime)

getReasonableTransmissionTime

public int getReasonableTransmissionTime()

findSentMessage

public Message findSentMessage(long messageSequenceNumber)

breakConnection

public void breakConnection()

getStorage

public SessionStorage getStorage()

isProcessLogonNextExpectedMsgSeqNum

public boolean isProcessLogonNextExpectedMsgSeqNum()

setSpecifyLastMsgSeqNumProcessed

public void setSpecifyLastMsgSeqNumProcessed(boolean specifyLastMsgSeqNumProcessed)

isSpecifyLastMsgSeqNumProcessed

public boolean isSpecifyLastMsgSeqNumProcessed()

setResendRequestMaximumRange

public void setResendRequestMaximumRange(int range)

getResendRequestMaximumRange

public int getResendRequestMaximumRange()

toString

public String toString()
Returns a string that represents the current session.

Overrides:
toString in class Object
Returns:
session description string

toStringDetailed

public String toStringDetailed()


Copyright © 2005-2012 Onix Solutions. All Rights Reserved.