net.i2p.i2ptunnel.socks

## Class I2PSOCKSTunnel

- java.lang.Object
- - net.i2p.i2ptunnel.I2PTunnelTask
  - - net.i2p.i2ptunnel.I2PTunnelClientBase
    - - net.i2p.i2ptunnel.socks.I2PSOCKSTunnel

All Implemented Interfaces:
  Runnable, EventDispatcher

Direct Known Subclasses:
  I2PSOCKSIRCTunnel

    public class I2PSOCKSTunnel
    extends I2PTunnelClientBase

### Field Summary

Fields
`static String` `DEFAULT`
`protected Destination` `outProxyDest`
`static String` `PROP_PROXY_DEFAULT`
`static String` `PROP_PROXY_PREFIX` add "default" or port number

### Fields inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase

`_clientId, _context, _log, _ownDest, dest, l, mySockets, sockLock, sockMgr`

### Fields inherited from class net.i2p.i2ptunnel.I2PTunnelTask

`open`

### Constructor Summary

Constructors
Constructor and Description
`I2PSOCKSTunnel(int localPort, Logging l, boolean ownDest, EventDispatcher notifyThis, I2PTunnel tunnel, String pkf)`

### Method Summary

Methods
`I2PSocketOptions` `buildOptions(Properties overrides)` Because getDefaultOptions() in super() is protected
`protected void` `clientConnectionRun(Socket s)` Manage a connection in a separate thread.
`List<String>` `getDefaultProxies()`
`List<String>` `getProxies(int port)`
`HashMap<String,List<String>>` `getProxyMap()`

### Methods inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase

`buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, close, closeSocket, createI2PSocket, createI2PSocket, getDefaultOptions, 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`

### Field Detail

#### outProxyDest

    protected Destination outProxyDest

#### PROP_PROXY_PREFIX

    public static final String PROP_PROXY_PREFIX

add "default" or port number

See Also:
  Constant Field Values

#### DEFAULT

    public static final String DEFAULT

See Also:
  Constant Field Values

#### PROP_PROXY_DEFAULT

    public static final String PROP_PROXY_DEFAULT

See Also:
  Constant Field Values

### Constructor Detail

#### I2PSOCKSTunnel

    public I2PSOCKSTunnel(int localPort,
                  Logging l,
                  boolean ownDest,
                  EventDispatcher notifyThis,
                  I2PTunnel tunnel,
                  String pkf)

Parameters:
  `pkf` - private key file name or null for transient key

### Method Detail

#### clientConnectionRun

    protected void clientConnectionRun(Socket 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`

#### getProxyMap

    public HashMap<String,List<String>> getProxyMap()

#### getProxies

    public List<String> getProxies(int port)

#### getDefaultProxies

    public List<String> getDefaultProxies()

#### buildOptions

    public I2PSocketOptions buildOptions(Properties overrides)

Because getDefaultOptions() in super() is protected

Since:
  0.8.2