Top Description Fields Constructors Methods
org.apache.hc.client5.http.impl.nio

public final Class MultihomeConnectionInitiator

extends Object
implements ConnectionInitiator
Class Inheritance
All Implemented Interfaces
org.apache.hc.core5.reactor.ConnectionInitiator
Annotations
@Contract
threading:SAFE_CONDITIONAL
Imports
java.net.SocketAddress, java.util.concurrent.Future, org.apache.hc.client5.http.DnsResolver, org.apache.hc.core5.annotation.Contract, .ThreadingBehavior, org.apache.hc.core5.concurrent.FutureCallback, org.apache.hc.core5.net.NamedEndpoint, org.apache.hc.core5.reactor.ConnectionInitiator, .IOSession, org.apache.hc.core5.util.Args, .Timeout

Multi-home DNS aware implementation of ConnectionInitiator.
Since
5.0

Field Summary

Modifier and TypeField and Description
private final ConnectionInitiator
private final MultihomeIOSessionRequester

Constructor Summary

AccessConstructor and Description
public
MultihomeConnectionInitiator(final ConnectionInitiator connectionInitiator, final DnsResolver dnsResolver)

Method Summary

Modifier and TypeMethod and Description
public Future<IOSession>
connect(final NamedEndpoint
name of the remote host.
remoteEndpoint
,
final SocketAddress
remote socket address.
remoteAddress
,
final SocketAddress
local socket address. Can be null, in which can the default local address and a random port will be used.
localAddress
,
final Timeout
connect timeout.
connectTimeout
,
final Object
the attachment object. Can be null.
attachment
,
final FutureCallback<IOSession>
interface. Can be null.
callback
)

Implements org.apache.hc.core5.reactor.ConnectionInitiator.connect.

Requests a connection to a remote host.
public Future<IOSession>
connect(final NamedEndpoint remoteEndpoint, final SocketAddress localAddress, final Timeout connectTimeout, final Object attachment, final FutureCallback<IOSession> callback)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

connectionInitiatorback to summary
private final ConnectionInitiator connectionInitiator
sessionRequesterback to summary
private final MultihomeIOSessionRequester sessionRequester

Constructor Detail

MultihomeConnectionInitiatorback to summary
public MultihomeConnectionInitiator(final ConnectionInitiator connectionInitiator, final DnsResolver dnsResolver)

Method Detail

connectback to summary
public Future<IOSession> connect(final NamedEndpoint remoteEndpoint, final SocketAddress remoteAddress, final SocketAddress localAddress, final Timeout connectTimeout, final Object attachment, final FutureCallback<IOSession> callback)

Implements org.apache.hc.core5.reactor.ConnectionInitiator.connect.

Doc from org.apache.hc.core5.reactor.ConnectionInitiator.connect.

Requests a connection to a remote host.

Opening a connection to a remote host usually tends to be a time consuming process and may take a while to complete. One can monitor and control the process of session initialization by means of the Future interface.

There are several parameters one can use to exert a greater control over the process of session initialization:

A non-null local socket address parameter can be used to bind the socket to a specific local address.

An attachment object can added to the new session's context upon initialization. This object can be used to pass an initial processing state to the protocol handler.

It is often desirable to be able to react to the completion of a session request asynchronously without having to wait for it, blocking the current thread of execution. One can optionally provide an implementation FutureCallback instance to get notified of events related to session requests, such as request completion, cancellation, failure or timeout.

Parameters
remoteEndpoint:NamedEndpoint

name of the remote host.

remoteAddress:SocketAddress

remote socket address.

localAddress:SocketAddress

local socket address. Can be null, in which can the default local address and a random port will be used.

connectTimeout:Timeout

connect timeout.

attachment:Object

the attachment object. Can be null.

callback:FutureCallback<IOSession>

interface. Can be null.

Returns:Future<IOSession>

session request object.

Annotations
@Override
connectback to summary
public Future<IOSession> connect(final NamedEndpoint remoteEndpoint, final SocketAddress localAddress, final Timeout connectTimeout, final Object attachment, final FutureCallback<IOSession> callback)