org.apache.hc.client5.http.nio

## Class AsyncConnectionEndpoint

- java.lang.Object
- - org.apache.hc.client5.http.nio.AsyncConnectionEndpoint

All Implemented Interfaces:
  Closeable, AutoCloseable, org.apache.hc.core5.io.ModalCloseable

    @Contract(threading=SAFE)
    public abstract class AsyncConnectionEndpoint
    extends Object
    implements org.apache.hc.core5.io.ModalCloseable

Client connection endpoint that can be used to execute message exchanges.

Since:
  5.0

### Constructor Summary

Constructors
Constructor and Description
`AsyncConnectionEndpoint()`

### Method Summary

Methods
`void` `close()`
`abstract void` `execute(org.apache.hc.core5.http.nio.AsyncClientExchangeHandler exchangeHandler, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context)` Initiates a message exchange using the given handler.
`void` `execute(org.apache.hc.core5.http.nio.AsyncClientExchangeHandler exchangeHandler, org.apache.hc.core5.http.protocol.HttpContext context)` Initiates a message exchange using the given handler.
`<T> Future<T>` `execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.concurrent.FutureCallback<T> callback)` Initiates message exchange using the given request producer and response consumer.

`<T> Future<T>`

`execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.concurrent.FutureCallback<T> callback)`
Initiates message exchange using the given request producer and response consumer.

`<T> Future<T>`

`execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)`
Initiates message exchange using the given request producer and response consumer.

`<T> Future<T>` `execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)` Initiates message exchange using the given request producer and response consumer.
`abstract boolean` `isConnected()` Determines if the connection to the remote endpoint is still open and valid.
`abstract void` `setSocketTimeout(org.apache.hc.core5.util.Timeout timeout)` Sets socket timeout.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.hc.core5.io.ModalCloseable

`close`

### Constructor Detail

#### AsyncConnectionEndpoint

    public AsyncConnectionEndpoint()

### Method Detail

#### execute

    public abstract void execute(org.apache.hc.core5.http.nio.AsyncClientExchangeHandler exchangeHandler,
               org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory,
               org.apache.hc.core5.http.protocol.HttpContext context)

Initiates a message exchange using the given handler.

Parameters:
  `exchangeHandler` - the message exchange handler.
  `pushHandlerFactory` - the push handler factory.
  `context` - the execution context.

#### isConnected

    public abstract boolean isConnected()

Determines if the connection to the remote endpoint is still open and valid.

#### setSocketTimeout

    public abstract void setSocketTimeout(org.apache.hc.core5.util.Timeout timeout)

Sets socket timeout.

Parameters:
  `timeout` - the socket timeout.

#### close

    public final void close()
                     throws IOException

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Throws:
  `IOException`

#### execute

    public void execute(org.apache.hc.core5.http.nio.AsyncClientExchangeHandler exchangeHandler,
               org.apache.hc.core5.http.protocol.HttpContext context)

Initiates a message exchange using the given handler.

Parameters:
  `exchangeHandler` - the message exchange handler.
  `context` - the execution context.

#### execute

    public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                        org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                        org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory,
                        org.apache.hc.core5.http.protocol.HttpContext context,
                        org.apache.hc.core5.concurrent.FutureCallback<T> callback)

Initiates message exchange using the given request producer and response consumer.

Type Parameters:
  `T` - the result representation.
Parameters:
  `requestProducer` - the request producer.
  `responseConsumer` - the response consumer.
  `pushHandlerFactory` - the push handler factory.
  `context` - the execution context.
  `callback` - the result callback.
Returns:
  the result future.

#### execute

    public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                        org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                        org.apache.hc.core5.http.protocol.HttpContext context,
                        org.apache.hc.core5.concurrent.FutureCallback<T> callback)

Initiates message exchange using the given request producer and response consumer.

Type Parameters:
  `T` - the result representation.
Parameters:
  `requestProducer` - the request producer.
  `responseConsumer` - the response consumer.
  `context` - the execution context.
  `callback` - the result callback.
Returns:
  the result future.

#### execute

    public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                        org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                        org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory,
                        org.apache.hc.core5.concurrent.FutureCallback<T> callback)

Initiates message exchange using the given request producer and response consumer.

Type Parameters:
  `T` - the result representation.
Parameters:
  `requestProducer` - the request producer.
  `responseConsumer` - the response consumer.
  `pushHandlerFactory` - the push handler factory.
  `callback` - the result callback.
Returns:
  the result future.

#### execute

    public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                        org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                        org.apache.hc.core5.concurrent.FutureCallback<T> callback)

Initiates message exchange using the given request producer and response consumer.

Type Parameters:
  `T` - the result representation.
Parameters:
  `requestProducer` - the request producer.
  `responseConsumer` - the response consumer.
  `callback` - the result callback.
Returns:
  the result future.