Class HealthCheckedChannelPool
java.lang.Object
software.amazon.awssdk.http.nio.netty.internal.HealthCheckedChannelPool
- All Implemented Interfaces:
io.netty.channel.pool.ChannelPool,Closeable,AutoCloseable,SdkChannelPool
An implementation of
ChannelPool that validates the health of its connections.
This wraps another ChannelPool, and verifies:
- All connections acquired from the underlying channel pool are in the active state.
- All connections released into the underlying pool that are not active, are closed before they are released.
NettyConfiguration.connectionAcquireTimeoutMillis() timeout is reached.-
Constructor Summary
ConstructorsConstructorDescriptionHealthCheckedChannelPool(io.netty.channel.EventLoopGroup eventLoopGroup, NettyConfiguration configuration, SdkChannelPool delegate) -
Method Summary
Modifier and TypeMethodDescriptionio.netty.util.concurrent.Future<io.netty.channel.Channel> acquire()io.netty.util.concurrent.Future<io.netty.channel.Channel> acquire(io.netty.util.concurrent.Promise<io.netty.channel.Channel> resultFuture) voidclose()collectChannelPoolMetrics(MetricCollector metrics) Collect channel pool metrics into the providedMetricCollectorcollection, completing the returned future when all metric publishing is complete.io.netty.util.concurrent.Future<Void> release(io.netty.channel.Channel channel) io.netty.util.concurrent.Future<Void>
-
Constructor Details
-
HealthCheckedChannelPool
public HealthCheckedChannelPool(io.netty.channel.EventLoopGroup eventLoopGroup, NettyConfiguration configuration, SdkChannelPool delegate)
-
-
Method Details
-
acquire
public io.netty.util.concurrent.Future<io.netty.channel.Channel> acquire()- Specified by:
acquirein interfaceio.netty.channel.pool.ChannelPool
-
acquire
public io.netty.util.concurrent.Future<io.netty.channel.Channel> acquire(io.netty.util.concurrent.Promise<io.netty.channel.Channel> resultFuture) - Specified by:
acquirein interfaceio.netty.channel.pool.ChannelPool
-
release
- Specified by:
releasein interfaceio.netty.channel.pool.ChannelPool
-
release
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceio.netty.channel.pool.ChannelPool- Specified by:
closein interfaceCloseable
-
collectChannelPoolMetrics
Description copied from interface:SdkChannelPoolCollect channel pool metrics into the providedMetricCollectorcollection, completing the returned future when all metric publishing is complete.- Specified by:
collectChannelPoolMetricsin interfaceSdkChannelPool- Parameters:
metrics- The collection to which all metrics should be added.- Returns:
- A future that is completed when all metric publishing is complete.
-