Runnable, EventDispatcherpublic class I2PTunnelDCCServer extends I2PTunnelServer
direct conn
<---> I2PTunnelDCCServer <--------------->I2PTunnelDCCClient <---->
originating responding
chat client chat client
CHAT ---> I2PTunnelIRCClient --> IRC server --> I2TunnelIRCClient ----->
SEND ---> I2PTunnelIRCClient --> IRC server --> I2TunnelIRCClient ----->
RESUME <--- I2PTunnelIRCClient <-- IRC server <-- I2TunnelIRCClient <-----
ACCEPT ---> I2PTunnelIRCClient --> IRC server --> I2TunnelIRCClient ----->
__serverId, _clientExecutor, _log, bidir, i2pss, l, localPort, PROP_ALT_PKF, PROP_UNIQUE_LOCAL, PROP_USE_SSL, readTimeout, remoteHost, remotePort, slock, sockMgr, sslLock, taskopen| Constructor | Description |
|---|---|
I2PTunnelDCCServer(I2PSocketManager sktMgr,
Logging l,
EventDispatcher notifyThis,
I2PTunnel tunnel) |
There's no support for unsolicited incoming I2P connections,
so there's no server host or port parameters.
|
| Modifier and Type | Method | Description |
|---|---|---|
int |
acceptOutgoing(int port) |
An outgoing ACCEPT response
|
protected void |
blockingHandle(I2PSocket socket) |
An incoming DCC connection, only accept for a known port.
|
boolean |
close(boolean forced) |
Note that the tunnel can be reopened after this by calling startRunning().
|
int |
newOutgoing(byte[] ip,
int port,
String type) |
An outgoing DCC request
|
int |
resumeIncoming(int port) |
An incoming RESUME request
|
attachEventDispatcher, detachEventDispatcher, getEventDispatcher, getEvents, getEventValue, ignoreEvents, notifyEvent, unIgnoreEvents, waitEventValuedestroy, getHandlerCount, getReadTimeout, getSocket, getSocket, optionsUpdated, run, setReadTimeout, shouldUsePool, startRunningconnected, disconnected, errorOccurred, getId, getTunnel, isOpen, reportAbuse, routerDisconnected, setId, setName, setTunnel, toStringpublic I2PTunnelDCCServer(I2PSocketManager sktMgr, Logging l, EventDispatcher notifyThis, I2PTunnel tunnel)
sktMgr - an existing socket managerIllegalArgumentException - if the I2PTunnel does not contain
valid config to contact the routerprotected void blockingHandle(I2PSocket socket)
blockingHandle in class I2PTunnelServerpublic boolean close(boolean forced)
I2PTunnelServerclose in class I2PTunnelServerpublic int newOutgoing(byte[] ip,
int port,
String type)
ip - local irc client IPport - local irc client porttype - ignoredpublic int resumeIncoming(int port)
port - local dcc server I2P portpublic int acceptOutgoing(int port)
port - local irc client DCC port