net.i2p.i2ptunnel
Class I2PTunnelHTTPBidirProxy

java.lang.Object
  extended by net.i2p.util.EventDispatcherImpl
      extended by net.i2p.i2ptunnel.I2PTunnelTask
          extended by net.i2p.i2ptunnel.I2PTunnelClientBase
              extended by net.i2p.i2ptunnel.I2PTunnelHTTPClientBase
                  extended by net.i2p.i2ptunnel.I2PTunnelHTTPClient
                      extended by net.i2p.i2ptunnel.I2PTunnelHTTPBidirProxy
All Implemented Interfaces:
Runnable, EventDispatcher

public class I2PTunnelHTTPBidirProxy
extends I2PTunnelHTTPClient
implements Runnable

Reuse HTTP server's I2PSocketManager for a proxy with no outproxy capability.

Author:
sponge

Nested Class Summary
 
Nested classes/interfaces inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClientBase
I2PTunnelHTTPClientBase.AuthResult, I2PTunnelHTTPClientBase.OnTimeout
 
Field Summary
 
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClient
AUTH_REALM, DEFAULT_JUMP_SERVERS, LOCAL_SERVER, PROP_ACCEPT, PROP_DISABLE_HELPER, PROP_INTERNAL_SSL, PROP_JUMP_SERVERS, PROP_REFERER, PROP_SSL_OUTPROXIES, PROP_USE_OUTPROXY_PLUGIN, PROP_USER_AGENT, PROP_VIA
 
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClientBase
__requestId, _proxyList, BASIC_AUTH, DEFAULT_READ_TIMEOUT, DIGEST_AUTH, ERR_DESTINATION_UNKNOWN, PROP_AUTH, PROP_OUTPROXY_AUTH, PROP_OUTPROXY_PW, PROP_OUTPROXY_PW_PREFIX, PROP_OUTPROXY_USER, PROP_OUTPROXY_USER_PREFIX, PROP_PROXY_DIGEST_PREFIX, PROP_PROXY_DIGEST_SUFFIX, PROP_PW, PROP_PW_PREFIX, PROP_USER, SUCCESS_RESPONSE
 
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
_clientId, _context, _log, _ownDest, DEFAULT_CONNECT_TIMEOUT, dest, l, listenerReady, mySockets, PROP_USE_SSL, sockLock, sockMgr, ss
 
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelTask
open
 
Constructor Summary
I2PTunnelHTTPBidirProxy(int localPort, Logging l, I2PSocketManager sockMgr, I2PTunnel tunnel, EventDispatcher notifyThis, long clientId)
          As of 0.9.20 this is fast, and does NOT connect the manager to the router, or open the local socket.
 
Method Summary
 
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClient
clientConnectionRun, close, getDefaultOptions, getDefaultOptions, getRealm, startRunning
 
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelHTTPClientBase
_t, _t, _t, authorize, getAuthError, getErrorPage, getErrorPage, getPrefix, handleClientException, handleI2PSocketException, isDigestAuthRequired, optionsUpdated, selectProxy, writeErrorMessage, writeErrorMessage, writeErrorMessage, writeErrorMessage, writeFooter, writeFooter
 
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
addSubsession, buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, closeSocket, createI2PSocket, createI2PSocket, createI2PSocket, destroy, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, killSharedClient, manageConnection, run, verifySocketManager
 
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelTask
connected, disconnected, errorOccurred, getId, getTunnel, isOpen, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString
 
Methods inherited from class net.i2p.util.EventDispatcherImpl
attachEventDispatcher, detachEventDispatcher, getEventDispatcher, getEvents, getEventValue, ignoreEvents, notifyEvent, 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
run
 

Constructor Detail

I2PTunnelHTTPBidirProxy

public I2PTunnelHTTPBidirProxy(int localPort,
                               Logging l,
                               I2PSocketManager sockMgr,
                               I2PTunnel tunnel,
                               EventDispatcher notifyThis,
                               long clientId)
As of 0.9.20 this is fast, and does NOT connect the manager to the router, or open the local socket. You MUST call startRunning() for that.

Throws:
IllegalArgumentException - if the I2PTunnel does not contain valid config to contact the router