| 
 | QuickServer v1.4.7 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.quickserver.net.server.impl.BasicClientHandler
org.quickserver.net.server.impl.NonBlockingClientHandler
| Field Summary | |
| protected  ClientWriteHandler | clientWriteHandler | 
| protected  java.util.ArrayList | readByteBuffer | 
| protected  java.nio.channels.SelectionKey | selectionKey | 
| protected  int | threadAccessCount | 
| protected  boolean | waitingForFinalWrite | 
| protected  boolean | willReturn | 
| protected  java.util.ArrayList | writeByteBuffer | 
| Fields inherited from class org.quickserver.net.server.impl.BasicClientHandler | 
| appLogger, authenticator, authorised, b_in, b_out, bufferedReader, charset, clientAuthenticationHandler, clientBinaryHandler, clientCommandHandler, clientConnectedTime, clientData, clientEventHandler, clientEvents, clientExtendedEventHandler, clientObjectHandler, closeOrLostNotified, communicationLogging, connection, counAuthTry, dataModeIN, dataModeOUT, in, lastCommunicationTime, lockObj, lost, maxAuthTry, maxAuthTryMsg, maxConnectionMsg, NEW_LINE, NEW_LINE_BYTES, o_in, o_out, out, quickServer, secure, socket, socketTimeout, threadEvent, timeoutMsg, unprocessedClientEvents, willClean | 
| Constructor Summary | |
| NonBlockingClientHandler() | |
| NonBlockingClientHandler(int instanceCount) | |
| Method Summary | |
| protected  boolean | checkReturnClientHandler() | 
|  void | clean() | 
|  void | closeConnection()Closes client socket associated. | 
| protected  void | finalize() | 
|  java.io.BufferedReader | getBufferedReader()Returns the BufferedReaderassociated with 
 the Client being handled. | 
| static int | getMaxThreadAccessCount()Returns the maximum count of thread allowed to run objects of this class at a time. | 
|  java.nio.channels.SelectionKey | getSelectionKey()Returns client SelectionKey associated, if any. | 
|  java.nio.channels.SocketChannel | getSocketChannel()Returns client socket channel associated, if any. | 
|  int | getThreadAccessCount()Returns number of thread currently in this object. | 
| static boolean | getWakeupSelectorAfterRegisterRead()Returns wakeupSelectorAfterRegisterRead the flag that controls if wakeup is called on Selector after RegisterForRead is called. | 
| static boolean | getWakeupSelectorAfterRegisterWrite()Returns wakeupSelectorAfterRegisterWrite the flag that controls if wakeup is called on Selector after RegisterForWrite is called. | 
|  void | handleClient(TheClient theClient)Associates the ClientHanlder with the client encapsulated by theClient. | 
| protected  byte[] | readInputStream()Read the byte input. | 
|  void | registerForRead()Register OP_READ with the SelectionKey associated with the channel. | 
|  void | registerForWrite()Register OP_WRITE with the SelectionKey associated with the channel. | 
|  void | registerWrite() | 
| protected  void | returnClientHandler() | 
| protected  void | returnThread() | 
|  void | run() | 
| protected  void | setClientWriteHandler(ClientWriteHandler handler)Sets the ClientWriteHandler class that interacts with client sockets. | 
|  void | setDataMode(DataMode dataMode,
            DataType dataType)Sets the DataModefor the ClientHandler
 Note: When mode is DataMode.OBJECT and type is DataType.IN
 this call will block until the client ObjectOutputStream has
 written and flushes the header. | 
| protected  void | setInputStream(java.io.InputStream in)Sets the InputStreamassociated with 
 the Client being handled. | 
| static void | setMaxThreadAccessCount(int count)Sets the maximum count of thread allowed to run objects of this class at a time. | 
|  void | setSelectionKey(java.nio.channels.SelectionKey selectionKey)Sets client SelectionKey associated, if any. | 
|  void | setSocketChannel(java.nio.channels.SocketChannel socketChannel)Sets client socket channel associated, if any. | 
| static void | setWakeupSelectorAfterRegisterRead(boolean flag)Sets the flag to wakeup Selector After RegisterForRead is called. | 
| static void | setWakeupSelectorAfterRegisterWrite(boolean flag)Sets the flag to wakeup Selector After RegisterForWrite is called. | 
|  void | updateInputOutputStreams()Updates the InputStream and OutputStream for the ClientHandler for the set Socket. | 
|  void | waitTillFullyWritten()waitTillFullyWritten | 
| Methods inherited from class java.lang.Object | 
| clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
protected ClientWriteHandler clientWriteHandler
protected java.util.ArrayList readByteBuffer
protected java.util.ArrayList writeByteBuffer
protected java.nio.channels.SelectionKey selectionKey
protected volatile int threadAccessCount
protected volatile boolean willReturn
protected volatile boolean waitingForFinalWrite
| Constructor Detail | 
public NonBlockingClientHandler(int instanceCount)
public NonBlockingClientHandler()
| Method Detail | 
public static void setWakeupSelectorAfterRegisterWrite(boolean flag)
public static boolean getWakeupSelectorAfterRegisterWrite()
public static void setWakeupSelectorAfterRegisterRead(boolean flag)
public static boolean getWakeupSelectorAfterRegisterRead()
public static void setMaxThreadAccessCount(int count)
public static int getMaxThreadAccessCount()
public void clean()
clean in interface ClientHandlerclean in class BasicClientHandler
protected void finalize()
                 throws java.lang.Throwable
finalize in class BasicClientHandlerjava.lang.Throwablepublic void handleClient(TheClient theClient)
BasicClientHandlertheClient.
handleClient in interface ClientHandlerhandleClient in class BasicClientHandlertheClient - object that encapsulates client socket 
  and its configuration details.
protected void setInputStream(java.io.InputStream in)
                       throws java.io.IOException
BasicClientHandlerInputStream associated with 
 the Client being handled.
setInputStream in class BasicClientHandlerjava.io.IOExceptionBasicClientHandler.getInputStream()public java.io.BufferedReader getBufferedReader()
BasicClientHandlerBufferedReader associated with 
 the Client being handled. Note that this is only available under blocking mode.
getBufferedReader in interface ClientHandlergetBufferedReader in class BasicClientHandlerBasicClientHandler.getBufferedWriter()public void closeConnection()
BasicClientHandler
closeConnection in interface ClientHandlercloseConnection in class BasicClientHandlerpublic void waitTillFullyWritten()
public void run()
run in interface ClientHandlerrun in class BasicClientHandlerprotected boolean checkReturnClientHandler()
protected void returnThread()
protected void returnClientHandler()
returnClientHandler in class BasicClientHandler
public void setDataMode(DataMode dataMode,
                        DataType dataType)
                 throws java.io.IOException
BasicClientHandlerDataMode for the ClientHandler
 Note: When mode is DataMode.OBJECT and type is DataType.IN
 this call will block until the client ObjectOutputStream has
 written and flushes the header.
setDataMode in interface ClientHandlersetDataMode in class BasicClientHandlerdataMode - mode of data exchange - String or Object.dataType - type of data for which mode has to be set.
java.io.IOException - if mode could not be changed.
protected byte[] readInputStream()
                          throws java.io.IOException
BasicClientHandler
readInputStream in class BasicClientHandlerjava.io.IOException
public void updateInputOutputStreams()
                              throws java.io.IOException
BasicClientHandler
updateInputOutputStreams in interface ClientHandlerupdateInputOutputStreams in class BasicClientHandlerjava.io.IOExceptionBasicClientHandler.setSocket(java.net.Socket)public void setSocketChannel(java.nio.channels.SocketChannel socketChannel)
BasicClientHandler
setSocketChannel in interface ClientHandlersetSocketChannel in class BasicClientHandlerpublic java.nio.channels.SocketChannel getSocketChannel()
BasicClientHandler
getSocketChannel in interface ClientHandlergetSocketChannel in class BasicClientHandlerpublic void setSelectionKey(java.nio.channels.SelectionKey selectionKey)
BasicClientHandler
setSelectionKey in interface ClientHandlersetSelectionKey in class BasicClientHandlerpublic java.nio.channels.SelectionKey getSelectionKey()
BasicClientHandler
getSelectionKey in interface ClientHandlergetSelectionKey in class BasicClientHandler
public void registerForRead()
                     throws java.io.IOException,
                            java.nio.channels.ClosedChannelException
BasicClientHandler
registerForRead in interface ClientHandlerregisterForRead in class BasicClientHandlerjava.io.IOException
java.nio.channels.ClosedChannelException
public void registerForWrite()
                      throws java.io.IOException,
                             java.nio.channels.ClosedChannelException
BasicClientHandler
registerForWrite in interface ClientHandlerregisterForWrite in class BasicClientHandlerjava.io.IOException
java.nio.channels.ClosedChannelException
public void registerWrite()
                   throws java.io.IOException
java.io.IOExceptionprotected void setClientWriteHandler(ClientWriteHandler handler)
BasicClientHandler
setClientWriteHandler in class BasicClientHandlerhandler - fully qualified name of the class that 
 implements ClientWriteHandlerpublic int getThreadAccessCount()
| 
 | QuickServer v1.4.7 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||