org.gudy.azureus2.core3.tracker.server.impl.tcp.nonblocking
Class TRNonBlockingServerProcessor

java.lang.Object
  extended by org.gudy.azureus2.core3.util.AERunnable
      extended by org.gudy.azureus2.core3.util.ThreadPoolTask
          extended by org.gudy.azureus2.core3.tracker.server.impl.TRTrackerServerProcessor
              extended by org.gudy.azureus2.core3.tracker.server.impl.tcp.TRTrackerServerProcessorTCP
                  extended by org.gudy.azureus2.core3.tracker.server.impl.tcp.nonblocking.TRNonBlockingServerProcessor
All Implemented Interfaces:
Runnable
Direct Known Subclasses:
TRTrackerServerFactoryImpl.NonBlockingProcessor

public abstract class TRNonBlockingServerProcessor
extends TRTrackerServerProcessorTCP

Author:
parg

Nested Class Summary
 
Nested classes/interfaces inherited from class org.gudy.azureus2.core3.tracker.server.impl.TRTrackerServerProcessor
TRTrackerServerProcessor.lightweightPeer
 
Field Summary
 
Fields inherited from class org.gudy.azureus2.core3.tracker.server.impl.tcp.TRTrackerServerProcessorTCP
CR, FF, HTTP_RESPONSE_END_GZIP, HTTP_RESPONSE_END_NOGZIP, HTTP_RESPONSE_START, HTTP_RESPONSE_XML_START, NL, SOCKET_TIMEOUT
 
Fields inherited from class org.gudy.azureus2.core3.util.ThreadPoolTask
worker
 
Constructor Summary
protected TRNonBlockingServerProcessor(TRTrackerServerTCP _server, SocketChannel _socket)
           
 
Method Summary
protected  void asyncProcessComplete(ByteArrayOutputStream response)
           
protected  void closed()
           
protected  void completed()
           
protected  void failed()
           
protected  boolean getKeepAlive()
           
protected  byte[] getPostData()
           
protected  VirtualChannelSelector.VirtualSelectorListener getReadListener()
           
protected  SocketChannel getSocketChannel()
           
protected  long getStartTime()
           
protected  VirtualChannelSelector.VirtualSelectorListener getWriteListener()
           
 void interruptTask()
           
 boolean isActive()
           
protected abstract  ByteArrayOutputStream process(String input_header, String lowercase_input_header, String url_path, InetSocketAddress client_address, boolean announce_and_scrape_only, InputStream is, AsyncController async)
           
protected  int processRead()
           
protected  int processWrite()
           
 void runSupport()
           
protected  void setKeepAlive(boolean k)
           
protected  void setReadListener(VirtualChannelSelector.VirtualSelectorListener rl)
           
protected  void setWriteListener(VirtualChannelSelector.VirtualSelectorListener wl)
           
protected  void writeComplete()
           
 
Methods inherited from class org.gudy.azureus2.core3.tracker.server.impl.tcp.TRTrackerServerProcessorTCP
areTimeoutsDisabled, doAuthentication, getServer, handleExternalRequest, processRequest, setTimeoutsDisabled
 
Methods inherited from class org.gudy.azureus2.core3.tracker.server.impl.TRTrackerServerProcessor
addScrapeInterval, addScrapeInterval, processTrackerRequest, taskCompleted
 
Methods inherited from class org.gudy.azureus2.core3.util.ThreadPoolTask
getName, getTaskState, releaseToPool, setTaskState, taskStarted
 
Methods inherited from class org.gudy.azureus2.core3.util.AERunnable
run
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TRNonBlockingServerProcessor

protected TRNonBlockingServerProcessor(TRTrackerServerTCP _server,
                                       SocketChannel _socket)
Method Detail

setReadListener

protected void setReadListener(VirtualChannelSelector.VirtualSelectorListener rl)

getReadListener

protected VirtualChannelSelector.VirtualSelectorListener getReadListener()

setWriteListener

protected void setWriteListener(VirtualChannelSelector.VirtualSelectorListener wl)

getWriteListener

protected VirtualChannelSelector.VirtualSelectorListener getWriteListener()

processRead

protected int processRead()

processWrite

protected int processWrite()

runSupport

public void runSupport()
Specified by:
runSupport in class AERunnable

process

protected abstract ByteArrayOutputStream process(String input_header,
                                                 String lowercase_input_header,
                                                 String url_path,
                                                 InetSocketAddress client_address,
                                                 boolean announce_and_scrape_only,
                                                 InputStream is,
                                                 AsyncController async)
                                          throws IOException
Throws:
IOException

asyncProcessComplete

protected void asyncProcessComplete(ByteArrayOutputStream response)

getSocketChannel

protected SocketChannel getSocketChannel()

getPostData

protected byte[] getPostData()

getStartTime

protected long getStartTime()

getKeepAlive

protected boolean getKeepAlive()

setKeepAlive

protected void setKeepAlive(boolean k)

isActive

public boolean isActive()
Overrides:
isActive in class TRTrackerServerProcessorTCP

interruptTask

public void interruptTask()
Specified by:
interruptTask in class ThreadPoolTask

failed

protected void failed()

writeComplete

protected void writeComplete()

completed

protected void completed()

closed

protected void closed()