# Package org.apache.hc.core5.reactor

Event driven network communication APIs and components loosely based on Doug Lea's reactor pattern.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Command | Abstract command `IOSession` can act upon.
  ConnectionAcceptor | Non-blocking connection acceptor.
  ConnectionInitiator | Non-blocking connection initiator.
  IOEventHandler | IOEventHandler interface is used by I/O reactors to handle I/O events for individual I/O sessions.
  IOEventHandlerFactory | Factory interface to create `IOEventHandler` instances for the given connected endpoints.
  IOReactor | HttpCore NIO is based on the Reactor pattern as described by Doug Lea.
  IOReactorService | `IOReactor` running as a service.
  IOSession | IOSession interface represents a sequence of logically related data exchanges between two end points.
  IOSessionListener | `IOSession` event listener.
  ListenerEndpoint | ListenerEndpoint interface represents an endpoint used by an I/O reactor to listen for incoming connection from remote clients.
  ProtocolIOSession | TLS capable, protocol upgradable `IOSession`.
  ProtocolUpgradeHandler | Application protocol upgrade handler.

- Class Summary
  Class | Description
  --- | ---
  AbstractIOSessionPool<T> |
  DefaultConnectingIOReactor | Multi-core I/O reactor that can act as `ConnectionInitiator` Internally this I/O reactor distributes newly created I/O session equally across multiple I/O worker threads for a more optimal resource utilization and a better I/O performance.
  DefaultListeningIOReactor | Multi-core I/O reactor that can act as both `ConnectionInitiator` and `ConnectionAcceptor`.
  EndpointParameters | Endpoint initialization parameters
  EventMask | Type of I/O event notifications I/O sessions can declare interest in.
  IOReactorConfig | I/O reactor configuration parameters.
  IOReactorConfig.Builder |
  SocksProxyProtocolHandlerFactory |

- Enum Summary
  Enum | Description
  --- | ---
  Command.Priority |
  IOReactorStatus | IOReactorStatus represents an internal status of an I/O reactor.
  IOSession.Status | This enum represents a set of states I/O session transitions through during its life-span.

- Exception Summary
  Exception | Description
  --- | ---
  IOReactorShutdownException | Signals the I/O reactor has been shut down or is in the process of shutting down.

## Package org.apache.hc.core5.reactor Description

Event driven network communication APIs and components loosely based on Doug Lea's reactor pattern.

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