Package edu.jas.util
Class ChannelFactory
- java.lang.Object
-
- java.lang.Thread
-
- edu.jas.util.ChannelFactory
-
- All Implemented Interfaces:
java.lang.Runnable
public class ChannelFactory extends java.lang.Thread
ChannelFactory implements a symmetric and non blocking way of setting up sockets on the client and server side. The constructor sets up a ServerSocket and accepts and stores any Socket creation requests from clients. The created Sockets can the be retrieved from the store without blocking. Refactored for java.util.concurrent.- Author:
- Akitoshi Yoshida, Heinz Kredel
- See Also:
SocketChannel
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_PORTdefault port of socket.
-
Constructor Summary
Constructors Constructor Description ChannelFactory()Constructs a ChannelFactory on the DEFAULT_PORT.ChannelFactory(int p)Constructs a ChannelFactory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SocketChannelgetChannel()Get a new socket channel from a server socket.SocketChannelgetChannel(java.lang.String h)Get a new socket channel to a given host.SocketChannelgetChannel(java.lang.String h, int p)Get a new socket channel to a given host.voidinit()thread initialization and start.voidrun()Run the servers accept() in an infinite loop.voidterminate()Terminate the Channel Factoryjava.lang.StringtoString()toString.-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, yield
-
-
-
-
Field Detail
-
DEFAULT_PORT
public static final int DEFAULT_PORT
default port of socket.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ChannelFactory
public ChannelFactory()
Constructs a ChannelFactory on the DEFAULT_PORT.
-
ChannelFactory
public ChannelFactory(int p)
Constructs a ChannelFactory.- Parameters:
p- port.
-
-
Method Detail
-
toString
public java.lang.String toString()
toString.- Overrides:
toStringin classjava.lang.Thread
-
init
public void init()
thread initialization and start.
-
getChannel
public SocketChannel getChannel() throws java.lang.InterruptedException
Get a new socket channel from a server socket.- Throws:
java.lang.InterruptedException
-
getChannel
public SocketChannel getChannel(java.lang.String h) throws java.io.IOException
Get a new socket channel to a given host.- Parameters:
h- hostname- Throws:
java.io.IOException
-
getChannel
public SocketChannel getChannel(java.lang.String h, int p) throws java.io.IOException
Get a new socket channel to a given host.- Parameters:
h- hostnamep- port- Throws:
java.io.IOException
-
run
public void run()
Run the servers accept() in an infinite loop.- Specified by:
runin interfacejava.lang.Runnable- Overrides:
runin classjava.lang.Thread
-
terminate
public void terminate()
Terminate the Channel Factory
-
-