org.apache.mina.proxy
Class AbstractProxyLogicHandler

java.lang.Object
  extended by org.apache.mina.proxy.AbstractProxyLogicHandler
All Implemented Interfaces:
ProxyLogicHandler
Direct Known Subclasses:
AbstractHttpLogicHandler, AbstractSocksLogicHandler

public abstract class AbstractProxyLogicHandler
extends Object
implements ProxyLogicHandler

AbstractProxyLogicHandler.java - Helper class to handle proxy handshaking logic. Derived classes implement proxy type specific logic.

Based upon SSLHandler from mina-filter-ssl.

Since:
MINA 2.0.0-M3
Author:
Apache MINA Project

Constructor Summary
AbstractProxyLogicHandler(ProxyIoSession proxyIoSession)
          Creates a new AbstractProxyLogicHandler.
 
Method Summary
protected  void closeSession(String message)
          Closes the session.
protected  void closeSession(String message, Throwable t)
          Closes the session.
 void enqueueWriteRequest(IoFilter.NextFilter nextFilter, WriteRequest writeRequest)
          Enqueue a message to be written once handshaking is complete.
protected  void flushPendingWriteRequests()
          Send any write requests which were queued whilst waiting for handshaking to complete.
protected  ProxyFilter getProxyFilter()
          Returns the proxy filter ProxyFilter.
 ProxyIoSession getProxyIoSession()
          Returns the ProxyIoSession object.
protected  IoSession getSession()
          Returns the session.
 boolean isHandshakeComplete()
          Returns true if handshaking is complete and data can be sent through the proxy.
protected  void setHandshakeComplete()
          Signals that the handshake has finished.
protected  WriteFuture writeData(IoFilter.NextFilter nextFilter, IoBuffer data)
          Writes data to the proxy server.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.mina.proxy.ProxyLogicHandler
doHandshake, messageReceived
 

Constructor Detail

AbstractProxyLogicHandler

public AbstractProxyLogicHandler(ProxyIoSession proxyIoSession)
Creates a new AbstractProxyLogicHandler.

Parameters:
proxyIoSession - ProxyIoSession in use.
Method Detail

getProxyFilter

protected ProxyFilter getProxyFilter()
Returns the proxy filter ProxyFilter.


getSession

protected IoSession getSession()
Returns the session.


getProxyIoSession

public ProxyIoSession getProxyIoSession()
Returns the ProxyIoSession object.

Specified by:
getProxyIoSession in interface ProxyLogicHandler
Returns:
the proxy session object

writeData

protected WriteFuture writeData(IoFilter.NextFilter nextFilter,
                                IoBuffer data)
Writes data to the proxy server.

Parameters:
nextFilter - the next filter
data - Data buffer to be written.

isHandshakeComplete

public boolean isHandshakeComplete()
Returns true if handshaking is complete and data can be sent through the proxy.

Specified by:
isHandshakeComplete in interface ProxyLogicHandler
Returns:
true if handshaking is complete and data can be sent through the proxy, false otherwise.

setHandshakeComplete

protected final void setHandshakeComplete()
Signals that the handshake has finished.


flushPendingWriteRequests

protected void flushPendingWriteRequests()
                                  throws Exception
Send any write requests which were queued whilst waiting for handshaking to complete.

Throws:
Exception

enqueueWriteRequest

public void enqueueWriteRequest(IoFilter.NextFilter nextFilter,
                                WriteRequest writeRequest)
Enqueue a message to be written once handshaking is complete.

Specified by:
enqueueWriteRequest in interface ProxyLogicHandler
Parameters:
nextFilter - the next filter in filter chain
writeRequest - the data to be written

closeSession

protected void closeSession(String message,
                            Throwable t)
Closes the session.

Parameters:
message - the error message
t - the exception which caused the session closing

closeSession

protected void closeSession(String message)
Closes the session.

Parameters:
message - the error message


Copyright © 2004-2011 Apache MINA Project. All Rights Reserved.