Interface DataStreamChannel

All Superinterfaces:
StreamChannel<ByteBuffer>
All Known Subinterfaces:
H2StreamChannel
All Known Implementing Classes:
AbstractH2StreamMultiplexer.H2StreamChannelImpl

@Contract(threading=SAFE) public interface DataStreamChannel extends StreamChannel<ByteBuffer>
Abstract byte stream channel

Implementations are expected to be thread-safe.

Since:
5.0
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    endStream(List<? extends Header> trailers)
    Terminates the underlying data stream and optionally writes a closing sequence with the given trailers.
    void
    Signals intent by the data producer to produce more data.
    int
    Writes data from the buffer through this channel into the underlying byte stream.

    Methods inherited from interface org.apache.hc.core5.http.nio.StreamChannel

    endStream
  • Method Details

    • requestOutput

      void requestOutput()
      Signals intent by the data producer to produce more data. Once the channel is able to accept data its handler is expected to trigger an event to notify the data producer.
    • write

      int write(ByteBuffer src) throws IOException
      Writes data from the buffer through this channel into the underlying byte stream. If the underlying byte stream is temporarily unable to accept more data it can return zero to indicate that no data could be written to the data stream. The data producer can choose to call requestOutput() to signal its intent to produce more data.
      Specified by:
      write in interface StreamChannel<ByteBuffer>
      Parameters:
      src - source of data
      Returns:
      The number of bytes written, possibly zero
      Throws:
      IOException
    • endStream

      void endStream(List<? extends Header> trailers) throws IOException
      Terminates the underlying data stream and optionally writes a closing sequence with the given trailers.

      Please note that some data streams may not support trailers and may silently ignore the trailers parameter.

      Throws:
      IOException