Class I2PTunnelConnectClient

  extended by net.i2p.i2ptunnel.I2PTunnelTask
      extended by net.i2p.i2ptunnel.I2PTunnelClientBase
          extended by net.i2p.i2ptunnel.I2PTunnelConnectClient
All Implemented Interfaces:
java.lang.Runnable, EventDispatcher

public class I2PTunnelConnectClient
extends I2PTunnelClientBase
implements java.lang.Runnable

Supports the following:

   (where protocol is generally HTTP/1.1 but is ignored)
   (where host is one of:
      516+charsbase64 (sent to one of the configured proxies)

   (port and protocol are ignored for i2p destinations)
   CONNECT host
   CONNECT host protocol
   CONNECT host:port
   CONNECT host:port protocol (this is the standard)
Additional lines after the CONNECT line but before the blank line are ignored and stripped. The CONNECT line is removed for .i2p accesses but passed along for outproxy accesses. Ref:
  INTERNET-DRAFT                                              Ari Luotonen
  Expires: September 26, 1997          Netscape Communications Corporation
                       March 26, 1997
                     Tunneling SSL Through a WWW Proxy

zzz a stripped-down I2PTunnelHTTPClient

Field Summary
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
_clientId, _context, _ownDest, _waitingSockets, DEFAULT_CONNECT_TIMEOUT, dest, l, mySockets, PROP_MAX_WAIT_TIME, PROP_NUM_CONNECTION_BUILDERS, sockLock, sockMgr
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelTask
Constructor Summary
I2PTunnelConnectClient(int localPort, Logging l, boolean ownDest, java.lang.String wwwProxy, EventDispatcher notifyThis, I2PTunnel tunnel)
Method Summary
protected  void clientConnectionRun( s)
          Manage a connection in a separate thread.
protected  I2PSocketOptions getDefaultOptions()
          create the default options (using the default timeout, etc)
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
buildSocketManager, buildSocketManager, buildSocketManager, close, closeSocket, createI2PSocket, createI2PSocket, getDefaultOptions, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, manageConnection, run, startRunning, verifySocketManager
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelTask
attachEventDispatcher, detachEventDispatcher, disconnected, errorOccurred, getEventDispatcher, getEvents, getEventValue, getId, getTunnel, ignoreEvents, isOpen, notifyEvent, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString, unIgnoreEvents, waitEventValue
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Runnable

Constructor Detail


public I2PTunnelConnectClient(int localPort,
                              Logging l,
                              boolean ownDest,
                              java.lang.String wwwProxy,
                              EventDispatcher notifyThis,
                              I2PTunnel tunnel)
                       throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException - if the I2PTunnel does not contain valid config to contact the router
Method Detail


protected I2PSocketOptions getDefaultOptions()
create the default options (using the default timeout, etc)

getDefaultOptions in class I2PTunnelClientBase


protected void clientConnectionRun( s)
Description copied from class: I2PTunnelClientBase
Manage a connection in a separate thread. This only works if you do not override manageConnection()

Specified by:
clientConnectionRun in class I2PTunnelClientBase