# Package org.apache.hc.core5.http.nio

Core HTTP transport APIs based on the asynchronous, event driven I/O model.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AsyncClientExchangeHandler | Abstract asynchronous client side message exchange handler that acts as a request producer and a response consumer.
  AsyncDataConsumer | Abstract asynchronous data consumer.
  AsyncDataExchangeHandler | Abstract asynchronous data exchange handler that acts as a data consumer and a data producer.
  AsyncDataProducer | Abstract asynchronous data producer.
  AsyncEntityConsumer<T> | Abstract asynchronous message entity consumer.
  AsyncEntityProducer | Abstract asynchronous message entity producer.
  AsyncFilterChain | AsyncFilterChain represents a single element in the server side request processing chain.
  AsyncFilterChain.ResponseTrigger | Response trigger that can be used to generate the final HTTP response and terminate HTTP request processing.
  AsyncFilterHandler | AsyncFilterHandler represents a routine for handling all incoming requests in the server side request processing chain.
  AsyncPushConsumer | Abstract asynchronous push response consumer.
  AsyncPushProducer | Abstract asynchronous push response producer.
  AsyncRequestConsumer<T> | Abstract asynchronous request consumer.
  AsyncRequestProducer | Abstract asynchronous request producer.
  AsyncResponseConsumer<T> | Abstract asynchronous response consumer.
  AsyncResponseProducer | Abstract asynchronous response producer.
  AsyncServerExchangeHandler | Abstract asynchronous server side message exchange handler that acts as a request consumer and a response producer.
  AsyncServerRequestHandler<T> | AsyncServerRequestHandler represents a routine for processing of a specific group of HTTP requests.
  AsyncServerRequestHandler.ResponseTrigger | Response trigger that can be used to submit a final HTTP response and terminate HTTP request processing.
  CapacityChannel | Abstract capacity update channel.
  ContentDecoder | Abstract HTTP content decoder.
  ContentEncoder | Abstract HTTP content encoder.
  DataStreamChannel | Abstract byte stream channel
  FileContentDecoder | A content decoder capable of transferring data directly to a `FileChannel`
  FileContentEncoder | A content encoder capable of transferring data directly from a `FileChannel`
  HandlerFactory<T extends ResourceHolder> | Abstract handler factory.
  NHttpMessageParser<T extends MessageHeaders> | Message parser intended to build HTTP message head from a session input buffer..
  NHttpMessageParserFactory<T extends MessageHeaders> | Factory for `NHttpMessageParser` instances.
  NHttpMessageWriter<T extends MessageHeaders> | Message writer intended to serialize HTTP message head to a session buffer.
  NHttpMessageWriterFactory<T extends MessageHeaders> | Factory for `NHttpMessageWriter` instances.
  RequestChannel | Abstract request channel.
  ResourceHolder | Abstract resource holder.
  ResponseChannel | Abstract response / response promise channel.
  SessionInputBuffer | Session input buffer for HTTP/1.1 non-blocking connections.
  SessionOutputBuffer | Session output buffer for non-blocking HTTP/1.1 connections.
  StreamChannel<T extends Buffer> | Abstract data stream channel.

- Class Summary
  Class | Description
  --- | ---
  AsyncClientEndpoint | Client endpoint leased from a connection manager.

## Package org.apache.hc.core5.http.nio Description

Core HTTP transport APIs based on the asynchronous, event driven I/O model.

The application programming interface is based on the concept of channels and event handlers. The channels act as conduits for asynchronous data output. They are generally expected to be thread-safe and could be used by multiple threads concurrently. The event handlers react to asynchronous signals or events and communicate with the opposite endpoint through available channels. Event handlers can be specialized as data producers, data consumers or can be both. Generally event handlers can only be used by a single thread at a time and do not require synchronization as long as they do not interact with event handlers run by separate threads.

Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.