Package net.i2p.sam

Class SAMStreamSession.StreamSender

  • All Implemented Interfaces:
    Runnable
    Enclosing class:
    SAMStreamSession

    protected abstract static class SAMStreamSession.StreamSender
    extends Object
    implements Runnable
    Lets us push data through the stream without blocking, (even after exceeding the I2PSocket's buffer)
    • Field Detail

      • _id

        protected final int _id
      • i2pSocket

        protected final I2PSocket i2pSocket
    • Method Detail

      • sendBytes

        public abstract void sendBytes​(InputStream in,
                                       int size)
                                throws IOException
        Send bytes through the SAM STREAM session socket sender
        Parameters:
        in - Data input stream
        size - Count of bytes to send
        Throws:
        IOException - if the client didnt provide enough data
      • stopRunning

        public abstract void stopRunning()
        Stop a SAM STREAM session socket sender thread immediately
      • shutDownGracefully

        public abstract void shutDownGracefully()
        Stop a SAM STREAM session socket sender gracefully: stop the sender thread once all pending data has been sent.
      • run

        public abstract void run()
        Specified by:
        run in interface Runnable