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  IOReactorExceptionHandler exceptionHandler
           
protected  org.apache.http.params.HttpParams params
           
protected  java.nio.channels.Selector selector
           
protected  long selectTimeout
           
protected  int status
           
 
Fields inherited from interface org.apache.http.nio.reactor.IOReactor
ACTIVE, INACTIVE, SHUT_DOWN, SHUTTING_DOWN
 
Constructor Summary
AbstractMultiworkerIOReactor(int workerCount, org.apache.http.util.concurrent.ThreadFactory threadFactory, org.apache.http.params.HttpParams params)
           
 
Method Summary
protected  void addChannel(ChannelEntry entry)
           
 void execute(IOEventDispatch eventDispatch)
           
 int 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 gracePeriod)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

status

protected volatile int status

params

protected final org.apache.http.params.HttpParams params

selector

protected final java.nio.channels.Selector selector

selectTimeout

protected final long selectTimeout

exceptionHandler

protected IOReactorExceptionHandler exceptionHandler
Constructor Detail

AbstractMultiworkerIOReactor

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

getStatus

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

setExceptionHandler

public void setExceptionHandler(IOReactorExceptionHandler exceptionHandler)

processEvents

protected abstract void processEvents(int count)
                               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

shutdown

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

shutdown

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

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


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