org.jboss.remoting.transport.multiplex
Class MultiplexingManager

java.lang.Object
  extended byorg.jboss.remoting.transport.multiplex.MultiplexingManager

public class MultiplexingManager
extends java.lang.Object

Copyright (c) 2005

Author:
Ron Sigal

Nested Class Summary
protected  class MultiplexingManager.PendingActionThread
           
protected  class MultiplexingManager.ShutdownManager
          The motivation behind this class is to prevent the following problem.
protected  class MultiplexingManager.ShutdownThread
           
 
Constructor Summary
protected MultiplexingManager(java.net.InetSocketAddress address, int timeout, javax.net.SocketFactory socketFactory)
           
protected MultiplexingManager(java.net.Socket socket)
           
protected MultiplexingManager(javax.net.SocketFactory socketFactory)
           
 
Method Summary
protected  void addToPendingActions(PendingAction pendingAction)
          FIXME Comment this
 void bind(java.net.InetSocketAddress address)
           
static boolean checkForManagerByAddressPair(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress remoteAddress)
           
static boolean checkForManagerByAddressPair(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress remoteAddress, javax.net.SocketFactory socketFactory)
           
static boolean checkForShareableManager(java.net.InetSocketAddress address)
           
static boolean checkForShareableManager(java.net.InetSocketAddress address, javax.net.SocketFactory socketFactory)
           
static boolean checkForShareableManagerByAddressPair(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress remoteAddress)
           
static boolean checkForShareableManagerByAddressPair(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress remoteAddress, javax.net.SocketFactory socketFactory)
           
 void connect(java.net.InetSocketAddress address, int timeout)
           
 void decrementReferences()
          FIXME Comment this
 java.util.Collection getAllOutputStreams()
           
static MultiplexingManager getaManager(java.net.Socket socket)
           
static MultiplexingManager getaManagerByAddressPair(java.net.InetSocketAddress remoteAddress, java.net.InetSocketAddress localAddress, int timeout)
           
static MultiplexingManager getaManagerByAddressPair(java.net.InetSocketAddress remoteAddress, java.net.InetSocketAddress localAddress, int timeout, javax.net.SocketFactory socketFactory)
           
static MultiplexingManager getaManagerByLocalAddress(java.net.InetSocketAddress address)
           
static MultiplexingManager getaManagerByLocalAddress(java.net.InetSocketAddress address, javax.net.SocketFactory socketFactory)
           
static MultiplexingManager getaManagerByRemoteAddress(java.net.InetSocketAddress address, int timeout)
           
static MultiplexingManager getaManagerByRemoteAddress(java.net.InetSocketAddress address, int timeout, javax.net.SocketFactory socketFactory)
           
static MultiplexingManager getAnExistingShareableManager(java.net.InetSocketAddress address, javax.net.SocketFactory socketFactory)
           
static MultiplexingManager getAnExistingShareableManagerByAddressPair(java.net.InetSocketAddress remoteAddress, java.net.InetSocketAddress localAddress, javax.net.SocketFactory socketFactory)
           
 MultiplexingInputStream getAnInputStream(SocketId socketId, VirtualSocket socket)
           
static MultiplexingManager getaShareableManager(java.net.InetSocketAddress address, int timeout)
           
static MultiplexingManager getaShareableManager(java.net.InetSocketAddress address, int timeout, javax.net.SocketFactory socketFactory)
           
static MultiplexingManager getaShareableManagerByAddressPair(java.net.InetSocketAddress remoteAddress, java.net.InetSocketAddress localAddress, int timeout)
           
static MultiplexingManager getaShareableManagerByAddressPair(java.net.InetSocketAddress remoteAddress, java.net.InetSocketAddress localAddress, int timeout, javax.net.SocketFactory socketFactory)
           
 OutputMultiplexor getOutputMultiplexor()
           
 java.io.OutputStream getOutputStreamByLocalSocket(SocketId socketId)
           
 Protocol getProtocol()
           
 java.net.ServerSocket getServerSocket()
          FIXME Comment this
 java.net.Socket getSocket()
           
 VirtualSocket getSocketByLocalPort(SocketId socketId)
           
 javax.net.SocketFactory getSocketFactory()
           
 void incrementReferences()
          FIXME Comment this
 boolean isBound()
          FIXME Comment this
 boolean isConnected()
          FIXME Comment this
 boolean isRemoteServerSocketRegistered()
           
 boolean isServerSocketRegistered()
          FIXME Comment this
 boolean isShutdown()
           
 boolean isSocketRegistered(SocketId socketId)
           
protected  void registerByLocalAddress(java.net.InetSocketAddress address)
          FIXME Comment this
protected  void registerByRemoteAddress(java.net.InetSocketAddress address)
           
 void registerRemoteServerSocket()
          FIXME Comment this
 MultiplexingDataInputStream registerServerSocket(java.net.ServerSocket serverSocket)
           
protected  void registerShareable(java.net.InetSocketAddress address)
           
 MultiplexingInputStream registerSocket(VirtualSocket socket)
           
protected  void removeAnInputStream(SocketId socketId)
          FIXME Comment this
 boolean respondToShutdownRequest()
          FIXME Comment this
 void setSocketFactory(javax.net.SocketFactory socketFactory)
           
protected  void setup()
           
protected  void shutdown()
           
protected  void unregisterByLocalAddress()
          FIXME Comment this
protected  void unregisterByRemoteAddress()
          FIXME Comment this
 void unRegisterRemoteServerSocket()
          FIXME Comment this
 void unRegisterServerSocket(java.net.ServerSocket serverSocket)
           
protected  void unregisterShareable()
          FIXME Comment this
 void unRegisterSocket(VirtualSocket socket)
           
 boolean waitForRemoteServerSocketRegistered()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiplexingManager

protected MultiplexingManager(javax.net.SocketFactory socketFactory)
                       throws java.io.IOException

MultiplexingManager

protected MultiplexingManager(java.net.Socket socket)
                       throws java.io.IOException
Parameters:
socket -
Throws:
java.io.IOException

MultiplexingManager

protected MultiplexingManager(java.net.InetSocketAddress address,
                              int timeout,
                              javax.net.SocketFactory socketFactory)
                       throws java.io.IOException
Parameters:
address -
timeout - TODO
socketFactory - TODO
Throws:
java.io.IOException
Method Detail

setup

protected void setup()
              throws java.io.IOException
Throws:
java.io.IOException

getaManager

public static MultiplexingManager getaManager(java.net.Socket socket)
                                       throws java.io.IOException
Parameters:
socket -
Returns:
Throws:
java.io.IOException - TODO: what if multiplexor already exists?

getaManagerByLocalAddress

public static MultiplexingManager getaManagerByLocalAddress(java.net.InetSocketAddress address)
                                                     throws java.io.IOException
Parameters:
address -
Returns:
Throws:
java.io.IOException

getaManagerByLocalAddress

public static MultiplexingManager getaManagerByLocalAddress(java.net.InetSocketAddress address,
                                                            javax.net.SocketFactory socketFactory)
                                                     throws java.io.IOException
Parameters:
address -
socketFactory -
Returns:
Throws:
java.io.IOException

getaManagerByRemoteAddress

public static MultiplexingManager getaManagerByRemoteAddress(java.net.InetSocketAddress address,
                                                             int timeout)
                                                      throws java.io.IOException
Parameters:
address -
timeout -
Returns:
Throws:
java.io.IOException

getaManagerByRemoteAddress

public static MultiplexingManager getaManagerByRemoteAddress(java.net.InetSocketAddress address,
                                                             int timeout,
                                                             javax.net.SocketFactory socketFactory)
                                                      throws java.io.IOException
Parameters:
address -
timeout -
socketFactory -
Returns:
Throws:
java.io.IOException

getaManagerByAddressPair

public static MultiplexingManager getaManagerByAddressPair(java.net.InetSocketAddress remoteAddress,
                                                           java.net.InetSocketAddress localAddress,
                                                           int timeout)
                                                    throws java.io.IOException
Parameters:
remoteAddress -
localAddress -
timeout -
Returns:
Throws:
java.io.IOException

getaManagerByAddressPair

public static MultiplexingManager getaManagerByAddressPair(java.net.InetSocketAddress remoteAddress,
                                                           java.net.InetSocketAddress localAddress,
                                                           int timeout,
                                                           javax.net.SocketFactory socketFactory)
                                                    throws java.io.IOException
Parameters:
remoteAddress -
localAddress -
timeout -
socketFactory -
Returns:
Throws:
java.io.IOException

getaShareableManager

public static MultiplexingManager getaShareableManager(java.net.InetSocketAddress address,
                                                       int timeout)
                                                throws java.io.IOException
Parameters:
address -
timeout -
Returns:
Throws:
java.io.IOException

getaShareableManager

public static MultiplexingManager getaShareableManager(java.net.InetSocketAddress address,
                                                       int timeout,
                                                       javax.net.SocketFactory socketFactory)
                                                throws java.io.IOException
Parameters:
address -
timeout -
socketFactory -
Returns:
Throws:
java.io.IOException

getAnExistingShareableManager

public static MultiplexingManager getAnExistingShareableManager(java.net.InetSocketAddress address,
                                                                javax.net.SocketFactory socketFactory)
                                                         throws java.io.IOException
Parameters:
address -
socketFactory -
Returns:
Throws:
java.io.IOException

getaShareableManagerByAddressPair

public static MultiplexingManager getaShareableManagerByAddressPair(java.net.InetSocketAddress remoteAddress,
                                                                    java.net.InetSocketAddress localAddress,
                                                                    int timeout)
                                                             throws java.io.IOException
Parameters:
remoteAddress -
localAddress -
timeout -
Returns:
Throws:
java.io.IOException

getaShareableManagerByAddressPair

public static MultiplexingManager getaShareableManagerByAddressPair(java.net.InetSocketAddress remoteAddress,
                                                                    java.net.InetSocketAddress localAddress,
                                                                    int timeout,
                                                                    javax.net.SocketFactory socketFactory)
                                                             throws java.io.IOException
Parameters:
remoteAddress -
localAddress -
timeout -
socketFactory -
Returns:
Throws:
java.io.IOException

getAnExistingShareableManagerByAddressPair

public static MultiplexingManager getAnExistingShareableManagerByAddressPair(java.net.InetSocketAddress remoteAddress,
                                                                             java.net.InetSocketAddress localAddress,
                                                                             javax.net.SocketFactory socketFactory)
                                                                      throws java.io.IOException
Parameters:
remoteAddress -
localAddress -
socketFactory -
Returns:
Throws:
java.io.IOException

checkForShareableManager

public static boolean checkForShareableManager(java.net.InetSocketAddress address)
                                        throws java.io.IOException
Parameters:
address -
Returns:
Throws:
java.io.IOException

checkForShareableManager

public static boolean checkForShareableManager(java.net.InetSocketAddress address,
                                               javax.net.SocketFactory socketFactory)
                                        throws java.io.IOException
Parameters:
address -
socketFactory -
Returns:
Throws:
java.io.IOException

checkForManagerByAddressPair

public static boolean checkForManagerByAddressPair(java.net.InetSocketAddress localAddress,
                                                   java.net.InetSocketAddress remoteAddress)
Parameters:
localAddress -
remoteAddress -
Returns:

checkForManagerByAddressPair

public static boolean checkForManagerByAddressPair(java.net.InetSocketAddress localAddress,
                                                   java.net.InetSocketAddress remoteAddress,
                                                   javax.net.SocketFactory socketFactory)
Parameters:
localAddress -
remoteAddress -
socketFactory -
Returns:

checkForShareableManagerByAddressPair

public static boolean checkForShareableManagerByAddressPair(java.net.InetSocketAddress localAddress,
                                                            java.net.InetSocketAddress remoteAddress)
Parameters:
localAddress -
remoteAddress -
Returns:

checkForShareableManagerByAddressPair

public static boolean checkForShareableManagerByAddressPair(java.net.InetSocketAddress localAddress,
                                                            java.net.InetSocketAddress remoteAddress,
                                                            javax.net.SocketFactory socketFactory)
Parameters:
localAddress -
remoteAddress -
Returns:

bind

public void bind(java.net.InetSocketAddress address)
          throws java.io.IOException
Parameters:
address -
Throws:
java.io.IOException

connect

public void connect(java.net.InetSocketAddress address,
                    int timeout)
             throws java.io.IOException
Parameters:
address -
timeout - TODO
Throws:
java.io.IOException

registerServerSocket

public MultiplexingDataInputStream registerServerSocket(java.net.ServerSocket serverSocket)
                                                 throws java.io.IOException
Returns:
Throws:
java.io.IOException

unRegisterServerSocket

public void unRegisterServerSocket(java.net.ServerSocket serverSocket)
                            throws java.io.IOException
Parameters:
serverSocket -
Throws:
java.io.IOException

registerSocket

public MultiplexingInputStream registerSocket(VirtualSocket socket)
                                       throws java.io.IOException
Parameters:
socket -
Returns:
Throws:
java.io.IOException

unRegisterSocket

public void unRegisterSocket(VirtualSocket socket)
                      throws java.io.IOException
Parameters:
socket -
Throws:
java.io.IOException

registerRemoteServerSocket

public void registerRemoteServerSocket()
                                throws java.io.IOException
FIXME Comment this

Throws:
java.io.IOException

unRegisterRemoteServerSocket

public void unRegisterRemoteServerSocket()
FIXME Comment this


isRemoteServerSocketRegistered

public boolean isRemoteServerSocketRegistered()

waitForRemoteServerSocketRegistered

public boolean waitForRemoteServerSocketRegistered()

incrementReferences

public void incrementReferences()
                         throws java.io.IOException
FIXME Comment this

Throws:
java.io.IOException

decrementReferences

public void decrementReferences()
                         throws java.io.IOException
FIXME Comment this

Throws:
java.io.IOException

getAllOutputStreams

public java.util.Collection getAllOutputStreams()
Returns:

getAnInputStream

public MultiplexingInputStream getAnInputStream(SocketId socketId,
                                                VirtualSocket socket)
                                         throws java.io.IOException
Parameters:
socketId -
socket - TODO
Returns:
Throws:
java.io.IOException

getOutputMultiplexor

public OutputMultiplexor getOutputMultiplexor()
Returns:

getOutputStreamByLocalSocket

public java.io.OutputStream getOutputStreamByLocalSocket(SocketId socketId)
Parameters:
socketId -
Returns:

getProtocol

public Protocol getProtocol()
Returns:

getServerSocket

public java.net.ServerSocket getServerSocket()
FIXME Comment this

Returns:

getSocket

public java.net.Socket getSocket()
Returns:

getSocketByLocalPort

public VirtualSocket getSocketByLocalPort(SocketId socketId)
Parameters:
socketId -
Returns:

getSocketFactory

public javax.net.SocketFactory getSocketFactory()
Returns:

isBound

public boolean isBound()
FIXME Comment this

Returns:

isConnected

public boolean isConnected()
FIXME Comment this

Returns:

isServerSocketRegistered

public boolean isServerSocketRegistered()
FIXME Comment this

Returns:

isShutdown

public boolean isShutdown()

isSocketRegistered

public boolean isSocketRegistered(SocketId socketId)
Parameters:
socketId -
Returns:
TODO: isn't used

respondToShutdownRequest

public boolean respondToShutdownRequest()
FIXME Comment this

Returns:

setSocketFactory

public void setSocketFactory(javax.net.SocketFactory socketFactory)
Parameters:
socketFactory -

registerByLocalAddress

protected void registerByLocalAddress(java.net.InetSocketAddress address)
FIXME Comment this

Parameters:
address -

unregisterByLocalAddress

protected void unregisterByLocalAddress()
FIXME Comment this


registerByRemoteAddress

protected void registerByRemoteAddress(java.net.InetSocketAddress address)
Parameters:
address -

unregisterByRemoteAddress

protected void unregisterByRemoteAddress()
FIXME Comment this


registerShareable

protected void registerShareable(java.net.InetSocketAddress address)
Parameters:
address -

unregisterShareable

protected void unregisterShareable()
FIXME Comment this


removeAnInputStream

protected void removeAnInputStream(SocketId socketId)
FIXME Comment this

Parameters:
socketId -

shutdown

protected void shutdown()

addToPendingActions

protected void addToPendingActions(PendingAction pendingAction)
FIXME Comment this

Parameters:
pendingAction -


Copyright ? 1998-2005 JBoss Inc . All Rights Reserved.