Class HonorCloseOnReleaseChannelPool
java.lang.Object
software.amazon.awssdk.http.nio.netty.internal.HonorCloseOnReleaseChannelPool
- All Implemented Interfaces:
io.netty.channel.pool.ChannelPool
,Closeable
,AutoCloseable
public class HonorCloseOnReleaseChannelPool
extends Object
implements io.netty.channel.pool.ChannelPool
Wrap a channel pool so that
ChannelAttributeKey.CLOSE_ON_RELEASE
is honored when a channel is released to the
underlying pool.
When a channel is released and ChannelAttributeKey.CLOSE_ON_RELEASE
is true on the channel, the channel will be closed
before it is released to the underlying pool.-
Constructor Summary
ConstructorDescriptionHonorCloseOnReleaseChannelPool
(io.netty.channel.pool.ChannelPool delegatePool) -
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> promise) void
close()
io.netty.util.concurrent.Future
<Void> release
(io.netty.channel.Channel channel) io.netty.util.concurrent.Future
<Void>
-
Constructor Details
-
HonorCloseOnReleaseChannelPool
public HonorCloseOnReleaseChannelPool(io.netty.channel.pool.ChannelPool delegatePool)
-
-
Method Details
-
acquire
public io.netty.util.concurrent.Future<io.netty.channel.Channel> acquire()- Specified by:
acquire
in 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> promise) - Specified by:
acquire
in interfaceio.netty.channel.pool.ChannelPool
-
release
- Specified by:
release
in interfaceio.netty.channel.pool.ChannelPool
-
release
public io.netty.util.concurrent.Future<Void> release(io.netty.channel.Channel channel, io.netty.util.concurrent.Promise<Void> promise) - Specified by:
release
in interfaceio.netty.channel.pool.ChannelPool
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceio.netty.channel.pool.ChannelPool
- Specified by:
close
in interfaceCloseable
-