net.i2p.i2ptunnel.irc
Class I2PTunnelDCCServer
java.lang.Object
net.i2p.util.EventDispatcherImpl
net.i2p.i2ptunnel.I2PTunnelTask
net.i2p.i2ptunnel.I2PTunnelServer
net.i2p.i2ptunnel.irc.I2PTunnelDCCServer
- All Implemented Interfaces:
- Runnable, EventDispatcher
public class I2PTunnelDCCServer
- extends I2PTunnelServer
A standard server that only answers for registered ports,
and each port can only be used once.
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 ----->
- Since:
- 0.8.9
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelServer |
__serverId, _log, bidir, i2pss, l, localPort, readTimeout, remoteHost, remotePort, slock, sockMgr, task |
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelTask |
connected, disconnected, errorOccurred, getId, getTunnel, isOpen, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString |
I2PTunnelDCCServer
public 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.
- Parameters:
sktMgr
- an existing socket manager
- Throws:
IllegalArgumentException
- if the I2PTunnel does not contain
valid config to contact the router
blockingHandle
protected void blockingHandle(I2PSocket socket)
- An incoming DCC connection, only accept for a known port.
Passed through without filtering.
- Overrides:
blockingHandle
in class I2PTunnelServer
close
public boolean close(boolean forced)
- Overrides:
close
in class I2PTunnelServer
newOutgoing
public int newOutgoing(byte[] ip,
int port,
String type)
- An outgoing DCC request
- Parameters:
ip
- local irc client IPport
- local irc client porttype
- ignored
- Returns:
- i2p port or -1 on error
resumeIncoming
public int resumeIncoming(int port)
- An incoming RESUME request
- Parameters:
port
- local dcc server I2P port
- Returns:
- local IRC client DCC port or -1 on error
acceptOutgoing
public int acceptOutgoing(int port)
- An outgoing ACCEPT response
- Parameters:
port
- local irc client DCC port
- Returns:
- local DCC server i2p port or -1 on error