Package net.i2p.sam

Interface SAMStreamReceiver

All Known Implementing Classes:
SAMv1Handler, SAMv2Handler, SAMv3Handler

interface SAMStreamReceiver
Interface for sending streaming data to a SAM client
  • Method Details

    • streamSendAnswer

      void streamSendAnswer(int id, String result, String bufferState) throws IOException
      Sends the result of a stream send operation
      Parameters:
      id - Stream ID
      result - information
      bufferState - state of the buffer
      Throws:
      IOException
    • notifyStreamSendBufferFree

      void notifyStreamSendBufferFree(int id) throws IOException
      Notifies that the outwards buffer is free for writing
      Parameters:
      id - stream ID
      Throws:
      IOException
    • notifyStreamIncomingConnection

      void notifyStreamIncomingConnection(int id, Destination dest) throws IOException
      Notify about a new incoming connection
      Parameters:
      id - New connection id
      dest - Destination
      Throws:
      IOException
    • notifyStreamOutgoingConnection

      void notifyStreamOutgoingConnection(int id, String result, String msg) throws IOException
      Notify about a new outgoing connection
      Parameters:
      id - New connection id
      result - message result
      msg - Message
      Throws:
      IOException
    • receiveStreamBytes

      void receiveStreamBytes(int id, ByteBuffer data) throws IOException
      Transmit a byte array from I2P to a SAM client.
      Parameters:
      id - Connection id
      data - Byte array to be received
      Throws:
      IOException
    • notifyStreamDisconnection

      void notifyStreamDisconnection(int id, String result, String msg) throws IOException
      Notify that a connection has been closed FIXME: this interface should be cleaner
      Parameters:
      id - Connection id
      result - Disconnection reason ("OK" or something else)
      msg - Error message, if any
      Throws:
      IOException
    • stopStreamReceiving

      void stopStreamReceiving()
      Stop receiving data.