Class SharedOutputBuffer


  • public class SharedOutputBuffer
    extends org.apache.hc.core5.http.impl.nio.ExpandableBuffer
    Content buffer that can be shared by multiple threads, usually the I/O dispatch of an I/O reactor and a worker thread.

    The I/O dispatch thread is expected to transfer data from the buffer to DataStreamChannel by calling produceContent(DataStreamChannel).

    The worker thread is expected to write data to the buffer by calling write(int), write(byte[], int, int) or writeCompleted()

    In case of an abnormal situation or when no longer needed the buffer must be shut down using shutdown() method.

    • Constructor Detail

      • SharedOutputBuffer

        public SharedOutputBuffer​(int buffersize)
    • Method Detail

      • reset

        public void reset()
      • hasData

        public boolean hasData()
        Overrides:
        hasData in class org.apache.hc.core5.http.impl.nio.ExpandableBuffer
      • capacity

        public int capacity()
        Overrides:
        capacity in class org.apache.hc.core5.http.impl.nio.ExpandableBuffer
      • length

        public int length()
        Overrides:
        length in class org.apache.hc.core5.http.impl.nio.ExpandableBuffer
      • produceContent

        public int produceContent​(org.apache.hc.core5.http.nio.DataStreamChannel stream)
                           throws IOException
        Throws:
        IOException
      • close

        public void close()
      • shutdown

        public void shutdown()