Base client class that sets up an I2P Datagram client destination.
The UDP side is not implemented here, as there are at least
1) UDP side is a "server"
Example: Streamr Consumer
- Configure a destination host and port
- External application sends no data
- Extending class must have a constructor with host and port arguments
2) UDP side is a client/server
Example: SOCKS UDP (DNS requests?)
- configure an inbound port and a destination host and port
- External application sends and receives data
- Extending class must have a constructor with host and 2 port arguments
So the implementing class must create a UDPSource and/or UDPSink,
and must call setSink().
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.
public boolean close(boolean forced)
Classes should override to close UDP side as well