Package net.i2p.i2ptunnel.socks
Class SOCKSUDPTunnel
java.lang.Object
net.i2p.util.EventDispatcherImpl
net.i2p.i2ptunnel.I2PTunnelTask
net.i2p.i2ptunnel.udpTunnel.I2PTunnelUDPClientBase
net.i2p.i2ptunnel.socks.SOCKSUDPTunnel
- All Implemented Interfaces:
Sink
,Source
,EventDispatcher
A Datagram Tunnel that can have multiple bidirectional ports on the UDP side.
TX:
(multiple SOCKSUDPPorts -> ) I2PSink
RX:
(SOCKSUDPWrapper in multiple SOCKSUDPPorts <- ) MultiSink <- I2PSource
The replies must be to the same I2CP toPort as the outbound fromPort.
If the server does not honor that, the replies will be dropped.
The replies must be repliable. Raw datagrams are not supported, and would
require a unique source port for each target.
Preliminary, untested, possibly incomplete.
- Author:
- zzz modded from streamr/StreamrConsumer
-
Field Summary
Fields inherited from class net.i2p.i2ptunnel.udpTunnel.I2PTunnelUDPClientBase
_clientId, _context, l
Fields inherited from class net.i2p.i2ptunnel.I2PTunnelTask
open
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
add
(InetAddress host, int port) boolean
close
(boolean forced) I2PTunnelTask Methods Classes should override to close UDP side as wellvoid
final void
Actually start working on outgoing connections.Methods inherited from class net.i2p.i2ptunnel.udpTunnel.I2PTunnelUDPClientBase
send, setSink, start
Methods inherited from class net.i2p.i2ptunnel.I2PTunnelTask
connected, destroy, disconnected, errorOccurred, getId, getTunnel, isOpen, optionsUpdated, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString
Methods inherited from class net.i2p.util.EventDispatcherImpl
attachEventDispatcher, detachEventDispatcher, getEventDispatcher, getEvents, getEventValue, ignoreEvents, notifyEvent, unIgnoreEvents, waitEventValue
-
Constructor Details
-
SOCKSUDPTunnel
Set up a tunnel with no UDP side yet. Use add() for each port.
-
-
Method Details
-
add
- Returns:
- the UDP port number
-
remove
-
startRunning
public final void startRunning()Description copied from class:I2PTunnelUDPClientBase
Actually start working on outgoing connections. Classes should override to start UDP side as well. Not specified in I2PTunnelTask but used in both I2PTunnelClientBase and I2PTunnelServer so let's implement it here too.- Overrides:
startRunning
in classI2PTunnelUDPClientBase
-
close
public boolean close(boolean forced) Description copied from class:I2PTunnelUDPClientBase
I2PTunnelTask Methods Classes should override to close UDP side as well- Overrides:
close
in classI2PTunnelUDPClientBase
- Returns:
- success
-