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
`protected` `SocketInputBuffer()`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`int` `available()` Obtain an estimate of the number of bytes that can be read without blocking.
`int` `doRead​(ByteChunk chunk)` Deprecated. Unused.
`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

    @Deprecated
    public int doRead​(ByteChunk chunk)
               throws java.io.IOException

Deprecated.
Unused. Will be removed in Tomcat 9. Use `doRead(ApplicationBufferHandler)`
Description copied from interface: `InputBuffer`
Read from the input stream into the given buffer. IMPORTANT: the current model assumes that the protocol will 'own' the buffer and return a pointer to it in ByteChunk (i.e. the param will have chunk.getBytes()==null before call, and the result after the call).

Specified by:
  `doRead` in interface `InputBuffer`
Parameters:
  `chunk` - 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

#### 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