T - ClientTransport implementationCONF - Client Configuration implementationpublic abstract class ClientTransport<T extends ClientTransport<T,CONF>,CONF extends ClientTransportConfig<CONF>> extends Transport<T,CONF>
| Constructor and Description | 
|---|
ClientTransport()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected Mono<? extends Connection> | 
connect()
 | 
protected Connection | 
connectNow()
Block the  
ClientTransport and return a Connection. | 
protected Connection | 
connectNow(Duration timeout)
Block the  
ClientTransport and return a Connection. | 
T | 
doAfterResolve(BiConsumer<? super Connection,? super SocketAddress> doAfterResolve)
Set or add a callback called after  
SocketAddress is resolved successfully. | 
T | 
doOnConnect(Consumer<? super CONF> doOnConnect)
Set or add a callback called when  
ClientTransport is about to connect to the remote endpoint. | 
T | 
doOnConnected(Consumer<? super Connection> doOnConnected)
Set or add a callback called after  
Connection has been connected. | 
T | 
doOnDisconnected(Consumer<? super Connection> doOnDisconnected)
Set or add a callback called after  
Connection has been disconnected. | 
T | 
doOnResolve(Consumer<? super Connection> doOnResolve)
Set or add a callback called before  
SocketAddress is resolved. | 
T | 
doOnResolveError(BiConsumer<? super Connection,? super Throwable> doOnResolveError)
Set or add a callback called if an exception happens while resolving to a  
SocketAddress. | 
T | 
host(String host)
The host to which this client should connect. 
 | 
T | 
noProxy()
Remove any previously applied Proxy configuration customization. 
 | 
T | 
port(int port)
The port to which this client should connect. 
 | 
T | 
proxy(Consumer<? super ProxyProvider.TypeSpec> proxyOptions)
Apply a proxy configuration. 
 | 
T | 
proxyWithSystemProperties()
Set up a proxy from the java system properties. 
 | 
T | 
remoteAddress(Supplier<? extends SocketAddress> remoteAddressSupplier)
The address to which this client should connect on each subscribe. 
 | 
T | 
resolver(AddressResolverGroup<?> resolver)
Assign an  
AddressResolverGroup. | 
T | 
resolver(Consumer<NameResolverProvider.NameResolverSpec> nameResolverSpec)
Apply a name resolver configuration. 
 | 
T | 
runOn(LoopResources loopResources,
     boolean preferNative)
Run IO loops on a supplied  
EventLoopGroup from the LoopResources container. | 
Mono<Void> | 
warmup()
Based on the actual configuration, returns a  
Mono that triggers:
 
     an initialization of the event loop group
     an initialization of the host name resolver
     loads the necessary native libraries for the transport
 
 By default, when method is not used, the connect operation absorbs the extra time needed to initialize and
 load the resources. | 
attr, bindAddress, channelGroup, configuration, doOnChannelInit, duplicate, metrics, metrics, observe, option, runOn, runOn, wiretap, wiretap, wiretap, wiretap, wiretapprotected Mono<? extends Connection> connect()
ClientTransport and return a Mono of Connection. If
 Mono is cancelled, the underlying connection will be aborted. Once the
 Connection has been emitted and is not necessary anymore, disposing must be
 done by the user via DisposableChannel.dispose().Mono of Connectionprotected Connection connectNow()
ClientTransport and return a Connection. Disposing must be
 done by the user via DisposableChannel.dispose(). The max connection
 timeout is 45 seconds.Connectionprotected Connection connectNow(Duration timeout)
ClientTransport and return a Connection. Disposing must be
 done by the user via DisposableChannel.dispose().timeout - connect timeout (resolution: ns)Connectionpublic T doOnConnect(Consumer<? super CONF> doOnConnect)
ClientTransport is about to connect to the remote endpoint.doOnConnect - a consumer observing connect eventsClientTransport referencepublic T doOnConnected(Consumer<? super Connection> doOnConnected)
Connection has been connected.doOnConnected - a consumer observing connected eventsClientTransport referencepublic T doOnDisconnected(Consumer<? super Connection> doOnDisconnected)
Connection has been disconnected.doOnDisconnected - a consumer observing disconnected eventsClientTransport referencepublic final T doOnResolve(Consumer<? super Connection> doOnResolve)
SocketAddress is resolved.doOnResolve - a consumer observing resolve eventsClientTransport referencepublic final T doAfterResolve(BiConsumer<? super Connection,? super SocketAddress> doAfterResolve)
SocketAddress is resolved successfully.doAfterResolve - a consumer observing resolved eventsClientTransport referencepublic final T doOnResolveError(BiConsumer<? super Connection,? super Throwable> doOnResolveError)
SocketAddress.doOnResolveError - a consumer observing resolve error eventsClientTransport referencepublic T host(String host)
host - the host to connect toClientTransport referencepublic T noProxy()
ClientTransport referencepublic T port(int port)
port - the port to connect toClientTransport referencepublic T proxy(Consumer<? super ProxyProvider.TypeSpec> proxyOptions)
proxyOptions - the proxy configuration callbackClientTransport referencepublic final T proxyWithSystemProperties()
 If both https.proxyHost and http.proxyHost are set
 it chooses https.proxyHost over http.proxyHost.
 Same with the http/https proxy port.
 
 If a ClientTransport instance already has a proxy set via proxy(Consumer)
 the new instance created by this method has all proxy settings replaced
 with proxy settings from the system properties only.
 
 If the system properties do not have a configuration for a proxy, the new
 instance returned by this method behaves as if there is no proxy settings,
 regardless of configuration of the original ClientTransport instance.
 
ClientTransport referencepublic T remoteAddress(Supplier<? extends SocketAddress> remoteAddressSupplier)
remoteAddressSupplier - A supplier of the address to connect to.ClientTransportpublic T resolver(AddressResolverGroup<?> resolver)
AddressResolverGroup.resolver - the new AddressResolverGroupClientTransport referencepublic T resolver(Consumer<NameResolverProvider.NameResolverSpec> nameResolverSpec)
nameResolverSpec - the name resolver callbackClientTransport referencepublic T runOn(LoopResources loopResources, boolean preferNative)
TransportEventLoopGroup from the LoopResources container.runOn in class Transport<T extends ClientTransport<T,CONF>,CONF extends ClientTransportConfig<CONF>>loopResources - a new loop resourcespreferNative - should prefer running on epoll, kqueue or similar instead of java NIOTransport referencepublic Mono<Void> warmup()
Mono that triggers:
 connect operation absorbs the extra time needed to initialize and
 load the resources.Mono representing the completion of the warmup