org.apache.hc.core5.http.nio.support.classic

## Interface ContentInputBuffer

- All Known Implementing Classes:
    SharedInputBuffer

      public interface ContentInputBuffer

  Generic content input buffer.
  Since:
    4.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `length()` Return length data stored in the buffer
    `int` | `read()` Reads one byte from this buffer.
    `int` | `read(byte[] b, int off, int len)` Reads up to `len` bytes of data from this buffer into an array of bytes.
    `void` | `reset()` Resets the buffer by clearing its state and stored content.

- - ### Method Detail

    - #### length

          int length()

      Return length data stored in the buffer
      Returns:
        data length

    - #### reset

          void reset()

      Resets the buffer by clearing its state and stored content.

    - #### read

          int read(byte[] b,
                   int off,
                   int len)
            throws IOException

      Reads up to `len` bytes of data from this buffer into an array of bytes. The exact number of bytes read depends how many bytes are stored in the buffer.

      If `off` is negative, or `len` is negative, or `off+len` is greater than the length of the array `b`, this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation. This method returns `-1` if the end of content stream has been reached.

      Parameters:
        `b` - the buffer into which the data is read.
        `off` - the start offset in array `b` at which the data is written.
        `len` - the maximum number of bytes to read.
      Returns:
        the total number of bytes read into the buffer, or `-1` if there is no more data because the end of the stream has been reached.
      Throws:
        `IOException` - if an I/O error occurs.

    - #### read

          int read()
            throws IOException

      Reads one byte from this buffer. If the buffer is empty this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation. This method returns `-1` if the end of content stream has been reached.
      Returns:
        one byte
      Throws:
        `IOException` - in case of an I/O error.

Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.