Package org.apache.coyote.ajp

## Class AjpProcessor.SocketInputBuffer

- java.lang.Object
- - org.apache.coyote.ajp.AjpProcessor.SocketInputBuffer

- All Implemented Interfaces:
    `InputBuffer`
  Enclosing class:
    AjpProcessor

      protected class AjpProcessor.SocketInputBuffer
      extends java.lang.Object
      implements InputBuffer

  This class is an input buffer which will read its data from an input stream.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `SocketInputBuffer()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `available()` | Obtain an estimate of the number of bytes that can be read without blocking.
    `int` | `doRead​(ApplicationBufferHandler handler)` | Read from the input stream into the ByteBuffer provided by the ApplicationBufferHandler.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SocketInputBuffer

          protected SocketInputBuffer()

  - ### Method Detail

    - #### doRead

          public int doRead​(ApplicationBufferHandler handler)
                     throws java.io.IOException

      Description copied from interface: `InputBuffer`
      Read from the input stream into the ByteBuffer provided by the ApplicationBufferHandler. IMPORTANT: the current model assumes that the protocol will 'own' the ByteBuffer and return a pointer to it.
      Specified by:
        `doRead` in interface `InputBuffer`
      Parameters:
        `handler` - ApplicationBufferHandler that provides the buffer to read data into.
      Returns:
        The number of bytes that have been added to the buffer or -1 for end of stream
      Throws:
        `java.io.IOException` - If an I/O error occurs reading from the input stream

    - #### available

          public int available()

      Description copied from interface: `InputBuffer`
      Obtain an estimate of the number of bytes that can be read without blocking. Typically, this will be the number of available bytes known to be buffered.
      Specified by:
        `available` in interface `InputBuffer`
      Returns:
        The number of bytes that can be read without blocking