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

Modifier and Type
Method
Description
`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 Details

### SocketInputBuffer

protected SocketInputBuffer()

## Method Details

### doRead

@Deprecated public int doRead(ByteChunk chunk) throws 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:
  `IOException` - If an I/O error occurs reading from the input stream

### doRead

public int doRead(ApplicationBufferHandler handler) throws 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:
  `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