edu.emory.mathcs.util.net.tunnel
Class TunnelServerSocket

java.lang.Object
  extended byjava.net.ServerSocket
      extended byedu.emory.mathcs.util.net.tunnel.TunnelServerSocket

public abstract class TunnelServerSocket
extends java.net.ServerSocket

Version:
1.0
Author:
Dawid Kurzyniec

Nested Class Summary
static class TunnelServerSocket.PlainTunnelFactory
           
static interface TunnelServerSocket.TunnelFactory
           
 
Constructor Summary
TunnelServerSocket()
           
TunnelServerSocket(java.net.InetSocketAddress tunnelAddr, int port)
           
TunnelServerSocket(TunnelServerSocket.TunnelFactory tunnelFactory)
           
TunnelServerSocket(TunnelServerSocket.TunnelFactory tunnelFactory, TunnelSocketAddress addr)
           
TunnelServerSocket(TunnelServerSocket.TunnelFactory tunnelFactory, TunnelSocketAddress addr, int backlog)
           
 
Method Summary
 java.net.Socket accept()
           
 void bind(java.net.SocketAddress endpoint, int backlog)
           
 void close()
           
 int getLocalPort()
           
 java.net.SocketAddress getLocalSocketAddress()
           
 int getReceiveBufferSize()
           
 boolean getReuseAddress()
           
 int getSoTimeout()
           
protected  java.net.ServerSocket getTunnel()
           
 boolean isBound()
           
 boolean isClosed()
           
 void setBound(edu.emory.mathcs.util.net.tunnel.TunnelServerSocket.Dispatcher dispatcher, int localPort, int backlog)
           
 void setReceiveBufferSize(int size)
           
 void setReuseAddress(boolean on)
           
 void setSoTimeout(int timeout)
           
 java.lang.String toString()
           
 
Methods inherited from class java.net.ServerSocket
bind, getChannel, getInetAddress, implAccept, setSocketFactory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TunnelServerSocket

public TunnelServerSocket(TunnelServerSocket.TunnelFactory tunnelFactory)
                   throws java.io.IOException

TunnelServerSocket

public TunnelServerSocket(TunnelServerSocket.TunnelFactory tunnelFactory,
                          TunnelSocketAddress addr)
                   throws java.io.IOException

TunnelServerSocket

public TunnelServerSocket(TunnelServerSocket.TunnelFactory tunnelFactory,
                          TunnelSocketAddress addr,
                          int backlog)
                   throws java.io.IOException

TunnelServerSocket

public TunnelServerSocket()
                   throws java.io.IOException

TunnelServerSocket

public TunnelServerSocket(java.net.InetSocketAddress tunnelAddr,
                          int port)
                   throws java.io.IOException
Method Detail

bind

public void bind(java.net.SocketAddress endpoint,
                 int backlog)
          throws java.io.IOException
Throws:
java.io.IOException

getTunnel

protected java.net.ServerSocket getTunnel()

isClosed

public boolean isClosed()

isBound

public boolean isBound()

setBound

public void setBound(edu.emory.mathcs.util.net.tunnel.TunnelServerSocket.Dispatcher dispatcher,
                     int localPort,
                     int backlog)

getLocalPort

public int getLocalPort()

getLocalSocketAddress

public java.net.SocketAddress getLocalSocketAddress()

accept

public java.net.Socket accept()
                       throws java.io.IOException
Throws:
java.io.IOException

close

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

setSoTimeout

public void setSoTimeout(int timeout)
                  throws java.net.SocketException
Throws:
java.net.SocketException

getSoTimeout

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

setReuseAddress

public void setReuseAddress(boolean on)
                     throws java.net.SocketException
Throws:
java.net.SocketException

getReuseAddress

public boolean getReuseAddress()
                        throws java.net.SocketException
Throws:
java.net.SocketException

toString

public java.lang.String toString()

setReceiveBufferSize

public void setReceiveBufferSize(int size)
                          throws java.net.SocketException
Throws:
java.net.SocketException

getReceiveBufferSize

public int getReceiveBufferSize()
                         throws java.net.SocketException
Throws:
java.net.SocketException