org.objectweb.joram.client.jms.tcp
Class ReliableTcpConnection

java.lang.Object
  extended by org.objectweb.joram.client.jms.tcp.ReliableTcpConnection

public class ReliableTcpConnection
extends java.lang.Object


Nested Class Summary
(package private)  class ReliableTcpConnection.AckTimerTask
           
(package private) static class ReliableTcpConnection.NetOutputStream
           
(package private) static class ReliableTcpConnection.TcpMessage
           
 
Field Summary
private  java.io.BufferedInputStream bis
           
static int CONNECT
           
static int CONNECTING
           
static int DEFAULT_WINDOW_SIZE
           
static int INIT
           
private  long inputCounter
           
private  java.lang.Object inputLock
           
static org.objectweb.util.monolog.api.Logger logger
           
private  ReliableTcpConnection.NetOutputStream nos
           
private  long outputCounter
           
private  java.lang.Object outputLock
           
private  java.util.Vector pendingMessages
           
private  java.net.Socket sock
           
private  int status
           
static java.lang.String[] statusNames
           
private  java.util.Timer timer
           
private  int unackCounter
           
static java.lang.String WINDOW_SIZE_PROP_NAME
           
private  int windowSize
           
 
Constructor Summary
ReliableTcpConnection(java.util.Timer timer2)
           
 
Method Summary
private  void ackPendingMessages(long ackId)
           
private  void addPendingMessage(ReliableTcpConnection.TcpMessage msg)
           
 void close()
           
private  void doSend(long id, long ackId, AbstractJmsMessage msg)
           
private  int getStatus()
           
 void init(java.net.Socket sock)
           
 AbstractJmsReply receive()
           
 void send(AbstractJmsMessage request)
           
private  void setStatus(int status)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INIT

public static final int INIT
See Also:
Constant Field Values

CONNECT

public static final int CONNECT
See Also:
Constant Field Values

CONNECTING

public static final int CONNECTING
See Also:
Constant Field Values

statusNames

public static final java.lang.String[] statusNames

logger

public static org.objectweb.util.monolog.api.Logger logger

WINDOW_SIZE_PROP_NAME

public static java.lang.String WINDOW_SIZE_PROP_NAME

DEFAULT_WINDOW_SIZE

public static int DEFAULT_WINDOW_SIZE

windowSize

private int windowSize

inputCounter

private volatile long inputCounter

outputCounter

private long outputCounter

unackCounter

private volatile int unackCounter

pendingMessages

private java.util.Vector pendingMessages

sock

private java.net.Socket sock

nos

private ReliableTcpConnection.NetOutputStream nos

bis

private java.io.BufferedInputStream bis

inputLock

private java.lang.Object inputLock

outputLock

private java.lang.Object outputLock

status

private int status

timer

private java.util.Timer timer
Constructor Detail

ReliableTcpConnection

public ReliableTcpConnection(java.util.Timer timer2)
Method Detail

setStatus

private void setStatus(int status)

getStatus

private final int getStatus()

init

public void init(java.net.Socket sock)
          throws java.io.IOException
Throws:
java.io.IOException

send

public void send(AbstractJmsMessage request)
          throws java.io.IOException
Throws:
java.io.IOException

doSend

private void doSend(long id,
                    long ackId,
                    AbstractJmsMessage msg)
             throws java.io.IOException
Throws:
java.io.IOException

addPendingMessage

private void addPendingMessage(ReliableTcpConnection.TcpMessage msg)

ackPendingMessages

private void ackPendingMessages(long ackId)

receive

public AbstractJmsReply receive()
                         throws java.lang.Exception
Throws:
java.lang.Exception

close

public void close()


Copyright © 2010 ScalAgent D.T.. All Rights Reserved.