## net.i2p.i2ptunnel.streamr
Class StreamrProducer

    java.lang.Object
      net.i2p.i2ptunnel.I2PTunnelTask
          net.i2p.i2ptunnel.udpTunnel.I2PTunnelUDPServerBase
              net.i2p.i2ptunnel.streamr.StreamrProducer

All Implemented Interfaces:
  Sink, Source, EventDispatcher

    public class StreamrProducer

extends I2PTunnelUDPServerBase

Compared to a standard I2PTunnel, this acts like a server on the I2P side (persistent privkey file) but a client on the UDP side (receives on a configured port)

Author:
  welterde, zzz modded for I2PTunnel

Field Summary

Fields inherited from class net.i2p.i2ptunnel.udpTunnel.I2PTunnelUDPServerBase
`l, readTimeout, slock`

Fields inherited from class net.i2p.i2ptunnel.I2PTunnelTask
`open`

Constructor Summary
`StreamrProducer(int port, File privkey, String privkeyname, Logging l, EventDispatcher notifyThis, I2PTunnel tunnel)`

Method Summary
`boolean` `close(boolean forced)` I2PTunnelTask Methods Classes should override to close UDP side as well
`void` `startRunning()` Classes should override to start UDP side as well.

Methods inherited from class net.i2p.i2ptunnel.udpTunnel.I2PTunnelUDPServerBase
`getReadTimeout, send, setReadTimeout, setSink, start`

Methods inherited from class net.i2p.i2ptunnel.I2PTunnelTask
`attachEventDispatcher, detachEventDispatcher, disconnected, errorOccurred, getEventDispatcher, getEvents, getEventValue, getId, getTunnel, ignoreEvents, isOpen, notifyEvent, reportAbuse, routerDisconnected, setId, setName, setTunnel, toString, unIgnoreEvents, waitEventValue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### StreamrProducer

    public StreamrProducer(int port,
                           File privkey,
                           String privkeyname,
                           Logging l,
                           EventDispatcher notifyThis,
                           I2PTunnel tunnel)

Method Detail

### startRunning

    public final void startRunning()

  Description copied from class: `I2PTunnelUDPServerBase`
  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 class `I2PTunnelUDPServerBase`

### close

    public boolean close(boolean forced)

  Description copied from class: `I2PTunnelUDPServerBase`
  I2PTunnelTask Methods Classes should override to close UDP side as well

  Overrides:
    `close` in class `I2PTunnelUDPServerBase`