org.apache.http.nio

## Interface NHttpServerConnection

All Superinterfaces:
  AutoCloseable, Closeable, HttpConnection, IOControl, NHttpConnection

All Known Subinterfaces:
  NHttpServerIOTarget

All Known Implementing Classes:
  DefaultNHttpServerConnection

    public interface NHttpServerConnection
    extends NHttpConnection

Abstract non-blocking server-side HTTP connection interface. It can be used to receive HTTP requests and asynchronously submit HTTP responses.

Since:
  4.0
See Also:
  `NHttpConnection`

### Field Summary

### Fields inherited from interface org.apache.http.nio.NHttpConnection

`ACTIVE, CLOSED, CLOSING`

### Method Summary

Methods
`boolean` `isResponseSubmitted()` Returns `true` if an HTTP response has been submitted to the client.
`void` `resetInput()` Resets output state.
`void` `resetOutput()` Resets input state.
`void` `submitResponse(HttpResponse response)` Submits {link @HttpResponse} to be sent to the client.

### Methods inherited from interface org.apache.http.nio.NHttpConnection

`getContext, getHttpRequest, getHttpResponse, getStatus`

### Methods inherited from interface org.apache.http.HttpConnection

`close, getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout, shutdown`

### Methods inherited from interface org.apache.http.nio.IOControl

`requestInput, requestOutput, shutdown, suspendInput, suspendOutput`

### Method Detail

#### submitResponse

    void submitResponse(HttpResponse response)
                        throws IOException,
                               HttpException

Submits {link @HttpResponse} to be sent to the client.

Parameters:
  `response` - HTTP response
Throws:
  `IOException` - if I/O error occurs while submitting the response
  `HttpException` - if the HTTP response violates the HTTP protocol.

#### isResponseSubmitted

    boolean isResponseSubmitted()

Returns `true` if an HTTP response has been submitted to the client.

Returns:
  `true` if an HTTP response has been submitted, `false` otherwise.

#### resetInput

    void resetInput()

Resets output state. This method can be used to prematurely terminate processing of the incoming HTTP request.

#### resetOutput

    void resetOutput()

Resets input state. This method can be used to prematurely terminate processing of the outgoing HTTP response.