org.apache.http.nio

## Interface NHttpMessageParser<T extends HttpMessage>

All Known Implementing Classes:
  AbstractMessageParser, DefaultHttpRequestParser, DefaultHttpResponseParser, HttpRequestParser, HttpResponseParser

    public interface NHttpMessageParser<T extends HttpMessage>

Abstract HTTP message parser for non-blocking connections.

Since:
  4.0

### Method Summary

Methods
`int` `fillBuffer(ReadableByteChannel channel)` Fills the internal buffer of the parser with input data from the given `ReadableByteChannel`.
`T` `parse()` Attempts to parse a complete message head from the content of the internal buffer.
`void` `reset()` Resets the parser.

### Method Detail

#### reset

    void reset()

Resets the parser. The parser will be ready to start parsing another HTTP message.

#### fillBuffer

    int fillBuffer(ReadableByteChannel channel)
                   throws IOException

Fills the internal buffer of the parser with input data from the given `ReadableByteChannel`.

Parameters:
  `channel` - the input channel
Returns:
  number of bytes read.
Throws:
  `IOException` - in case of an I/O error.

#### parse

    T parse()
                                throws IOException,
                                       HttpException

Attempts to parse a complete message head from the content of the internal buffer. If the message in the input buffer is incomplete this method will return `null`.

Returns:
  HTTP message head, if available, `null` otherwise.
Throws:
  `IOException` - in case of an I/O error.
  `HttpException` - in case the HTTP message is malformed or violates the HTTP protocol.