net.i2p.i2ptunnel
Class I2Ping

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.I2Ping
All Implemented Interfaces:
Runnable, EventDispatcher

public class I2Ping
extends I2PTunnelClientBase

Warning - not necessarily a stable API. Used by I2PTunnel CLI only. Consider this sample code. Not for use outside this package.


Field Summary
static String PROP_COMMAND
           
 
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
I2Ping(Logging l, boolean ownDest, EventDispatcher notifyThis, I2PTunnel tunnel)
          tunnel.getOptions must contain "command".
 
Method Summary
protected  void clientConnectionRun(Socket s)
          Does nothing.
 boolean close(boolean forced)
          Note that the tunnel can be reopened after this by calling startRunning().
 void run()
          Overrides super.
 void runCommand(String cmd)
           
static String usage()
          With newlines except for last line
 
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelClientBase
addSubsession, buildSocketManager, buildSocketManager, buildSocketManager, buildSocketManager, closeSocket, createI2PSocket, createI2PSocket, createI2PSocket, destroy, getDefaultOptions, getDefaultOptions, getListenHost, getLocalPort, getSocketManager, getSocketManager, getSocketManager, killSharedClient, manageConnection, optionsUpdated, startRunning, 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
 

Field Detail

PROP_COMMAND

public static final String PROP_COMMAND
See Also:
Constant Field Values
Constructor Detail

I2Ping

public I2Ping(Logging l,
              boolean ownDest,
              EventDispatcher notifyThis,
              I2PTunnel tunnel)
tunnel.getOptions must contain "command".

Throws:
IllegalArgumentException - if it doesn't
Method Detail

run

public void run()
Overrides super. No client ServerSocket is created.

Specified by:
run in interface Runnable
Overrides:
run in class I2PTunnelClientBase

runCommand

public void runCommand(String cmd)
                throws InterruptedException,
                       IOException
Throws:
InterruptedException
IOException

usage

public static String usage()
With newlines except for last line

Since:
0.9.12

close

public boolean close(boolean forced)
Description copied from class: I2PTunnelClientBase
Note that the tunnel can be reopened after this by calling startRunning(). This may not release all resources. In particular, the I2PSocketManager remains and it may have timer threads that continue running. To release all resources permanently, call destroy(). Does nothing if open is already false. Sets open = false but does not notifyAll().

Overrides:
close in class I2PTunnelClientBase
Returns:
success

clientConnectionRun

protected void clientConnectionRun(Socket s)
Does nothing.

Specified by:
clientConnectionRun in class I2PTunnelClientBase
Since:
0.9.11