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

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`