Top Description Inners Fields Constructors Methods
reactor.netty.resources

public abstract Class PooledConnectionProvider<T extends reactor.netty.Connection>

extends Object
implements ConnectionProvider
Class Inheritance
All Implemented Interfaces
reactor.netty.resources.ConnectionProvider, reactor.core.Disposable
Known Direct Subclasses
reactor.netty.resources.DefaultPooledConnectionProvider
Type Parameters
<T>
the poolable resource
Imports
io.netty.channel.Channel, .EventLoop, .EventLoopGroup, io.netty.resolver.AddressResolverGroup, org.reactivestreams.Publisher, reactor.core.CoreSubscriber, .Disposable, reactor.core.publisher.Mono, .MonoSink, reactor.core.scheduler.Schedulers, reactor.netty.Connection, .ConnectionObserver, .ReactorNetty, reactor.netty.internal.util.Metrics, .MapUtils, reactor.netty.transport.TransportConfig, reactor.pool.InstrumentedPool, .Pool, .PoolBuilder, .PoolConfig, .PoolMetricsRecorder, .PooledRef, .PooledRefMetadata, reactor.pool.decorators.GracefulShutdownInstrumentedPool, .InstrumentedPoolDecorators, reactor.pool.introspection.SamplingAllocationStrategy, reactor.util.Logger, .Loggers, reactor.util.annotation.Nullable, reactor.util.context.Context, java.net.InetAddress, .InetSocketAddress, .SocketAddress, java.time.Clock, .Duration, java.util.HashMap, .List, .Map, .Objects, java.util.concurrent.ConcurrentHashMap, .ConcurrentMap, .TimeUnit, java.util.function.BiFunction, .BiPredicate, .Function, .Supplier, java.util.stream.Collectors

Base ConnectionProvider implementation.
Author
Violeta Georgieva
Since
1.0.0

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
protected static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
pack-priv final ConnectionProvider.Builder
pack-priv final ConcurrentMap<PooledConnectionProvider.PoolKey, InstrumentedPool<T>>
protected static final String
CONTEXT_CALLER_EVENTLOOP

Context key used to propagate the caller event loop in the connection pool subscription.

pack-priv final PooledConnectionProvider.PoolFactory<T>
pack-priv final Duration
pack-priv final Duration
pack-priv static final Logger
pack-priv final Map<SocketAddress, Integer>
pack-priv final String
pack-priv Mono<Void>
pack-priv final Map<SocketAddress, PooledConnectionProvider.PoolFactory<T>>
pack-priv final Duration

Constructor Summary

AccessConstructor and Description
protected
pack-priv

Method Summary

Modifier and TypeMethod and Description
public final Mono<? extends Connection>
acquire(TransportConfig
the transport configuration
config
,
ConnectionObserver connectionObserver, Supplier<? extends SocketAddress>
the SocketAddress to connect to
remote
,
AddressResolverGroup<?>
the resolver which will resolve the address of the unresolved named address
resolverGroup
)

Implements reactor.netty.resources.ConnectionProvider.acquire.

Return an existing or new Connection on subscribe.
pack-priv final boolean
protected abstract CoreSubscriber<PooledRef<T>>
createDisposableAcquire(TransportConfig config, ConnectionObserver connectionObserver, long pendingAcquireTimeout, InstrumentedPool<T> pool, MonoSink<Connection> sink, Context currentContext)

protected abstract InstrumentedPool<T>
createPool(TransportConfig config, PooledConnectionProvider.PoolFactory<T> poolFactory, SocketAddress remoteAddress, AddressResolverGroup<?> resolverGroup)

protected InstrumentedPool<T>
createPool(String id, TransportConfig config, PooledConnectionProvider.PoolFactory<T> poolFactory, SocketAddress remoteAddress, AddressResolverGroup<?> resolverGroup)

protected void
pack-priv final void
public final Mono<Void>
disposeLater()

Overrides default reactor.netty.resources.ConnectionProvider.disposeLater.

Returns a Mono that triggers the disposal of the ConnectionProvider when subscribed to.
public final void
disposeWhen(SocketAddress
the remote address
address
)

Overrides default reactor.netty.resources.ConnectionProvider.disposeWhen.

Dispose all connection pools for the specified remote address.
public final boolean
isDisposed()

Overrides default reactor.core.Disposable.isDisposed.

Optionally return true when the resource or task is disposed.
protected static void
logPoolState(Channel channel, InstrumentedPool<? extends Connection> pool, String msg)

protected static void
logPoolState(Channel channel, InstrumentedPool<? extends Connection> pool, String msg, Throwable t)

public int
maxConnections()

Overrides default reactor.netty.resources.ConnectionProvider.maxConnections.

Returns the maximum number of connections before starting pending.
public Map<SocketAddress, Integer>
maxConnectionsPerHost()

Overrides default reactor.netty.resources.ConnectionProvider.maxConnectionsPerHost.

Returns the maximum number of connections per host before starting pending.
public ConnectionProvider.Builder
mutate()

Overrides default reactor.netty.resources.ConnectionProvider.mutate.

Returns a builder to mutate properties of this ConnectionProvider.
public String
name()

Overrides default reactor.netty.resources.ConnectionProvider.name.

Returns ConnectionProvider name used for metrics.
public void
onDispose(Mono<Void> disposeMono)

protected PooledConnectionProvider.PoolFactory<T>
poolFactory(SocketAddress remoteAddress)

protected void
pack-priv final void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait