org.apache.http.impl.nio.reactor
Class AbstractMultiworkerIOReactor

java.lang.Object
  extended by org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor
All Implemented Interfaces:
IOReactor
Direct Known Subclasses:
DefaultConnectingIOReactor, DefaultListeningIOReactor

public abstract class AbstractMultiworkerIOReactor
extends java.lang.Object
implements IOReactor


Field Summary
protected  java.util.List<ExceptionEvent> auditLog
           
protected  IOReactorExceptionHandler exceptionHandler
           
protected  HttpParams params
           
protected  java.nio.channels.Selector selector
           
protected  long selectTimeout
           
protected  IOReactorStatus status
           
 
Constructor Summary
AbstractMultiworkerIOReactor(int workerCount, java.util.concurrent.ThreadFactory threadFactory, HttpParams params)
           
 
Method Summary
protected  void addChannel(ChannelEntry entry)
           
protected  void addExceptionEvent(java.lang.Throwable ex)
           
protected  void addExceptionEvent(java.lang.Throwable ex, java.util.Date timestamp)
           
protected  void awaitShutdown(long timeout)
           
protected abstract  void cancelRequests()
           
protected  void doShutdown()
           
 void execute(IOEventDispatch eventDispatch)
           
 java.util.List<ExceptionEvent> getAuditLog()
           
 IOReactorStatus getStatus()
           
protected  void prepareSocket(java.net.Socket socket)
           
protected abstract  void processEvents(int count)
           
protected  java.nio.channels.SelectionKey registerChannel(java.nio.channels.SelectableChannel channel, int ops)
           
 void setExceptionHandler(IOReactorExceptionHandler exceptionHandler)
           
 void shutdown()
           
 void shutdown(long waitMs)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

status

protected volatile IOReactorStatus status

params

protected final HttpParams params

selector

protected final java.nio.channels.Selector selector

selectTimeout

protected final long selectTimeout

exceptionHandler

protected IOReactorExceptionHandler exceptionHandler

auditLog

protected java.util.List<ExceptionEvent> auditLog
Constructor Detail

AbstractMultiworkerIOReactor

public AbstractMultiworkerIOReactor(int workerCount,
                                    java.util.concurrent.ThreadFactory threadFactory,
                                    HttpParams params)
                             throws IOReactorException
Throws:
IOReactorException
Method Detail

getStatus

public IOReactorStatus getStatus()
Specified by:
getStatus in interface IOReactor

getAuditLog

public java.util.List<ExceptionEvent> getAuditLog()

addExceptionEvent

protected void addExceptionEvent(java.lang.Throwable ex,
                                 java.util.Date timestamp)

addExceptionEvent

protected void addExceptionEvent(java.lang.Throwable ex)

setExceptionHandler

public void setExceptionHandler(IOReactorExceptionHandler exceptionHandler)

processEvents

protected abstract void processEvents(int count)
                               throws IOReactorException
Throws:
IOReactorException

cancelRequests

protected abstract void cancelRequests()
                                throws IOReactorException
Throws:
IOReactorException

execute

public void execute(IOEventDispatch eventDispatch)
             throws java.io.InterruptedIOException,
                    IOReactorException
Specified by:
execute in interface IOReactor
Throws:
java.io.InterruptedIOException
IOReactorException

doShutdown

protected void doShutdown()
                   throws java.io.InterruptedIOException
Throws:
java.io.InterruptedIOException

addChannel

protected void addChannel(ChannelEntry entry)

registerChannel

protected java.nio.channels.SelectionKey registerChannel(java.nio.channels.SelectableChannel channel,
                                                         int ops)
                                                  throws java.nio.channels.ClosedChannelException
Throws:
java.nio.channels.ClosedChannelException

prepareSocket

protected void prepareSocket(java.net.Socket socket)
                      throws java.io.IOException
Throws:
java.io.IOException

awaitShutdown

protected void awaitShutdown(long timeout)
                      throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

shutdown

public void shutdown()
              throws java.io.IOException
Specified by:
shutdown in interface IOReactor
Throws:
java.io.IOException

shutdown

public void shutdown(long waitMs)
              throws java.io.IOException
Specified by:
shutdown in interface IOReactor
Throws:
java.io.IOException


Copyright © 2005-2008 Apache Software Foundation. All Rights Reserved.