public class NettyChannelListenableAsyncCloseable extends java.lang.Object implements ListenableAsyncCloseable
ListenableAsyncCloseable
using a netty Channel
.Modifier | Constructor and Description |
---|---|
protected |
NettyChannelListenableAsyncCloseable(io.netty.channel.Channel channel,
Executor offloadingExecutor)
New instance.
|
Modifier and Type | Method and Description |
---|---|
protected io.netty.channel.Channel |
channel()
Get access to the underlying
Channel . |
Completable |
closeAsync()
Used to close/shutdown a resource.
|
Completable |
closeAsyncGracefully()
Used to close/shutdown a resource, similar to
AsyncCloseable.closeAsync() , but attempts to cleanup state before
abruptly closing. |
protected void |
doCloseAsyncGracefully()
Initiate graceful closure.
|
Completable |
onClose()
Returns a
Completable that is notified once the ListenableAsyncCloseable was closed. |
protected NettyChannelListenableAsyncCloseable(io.netty.channel.Channel channel, Executor offloadingExecutor)
channel
- to use.offloadingExecutor
- Executor
used to offload any signals to any asynchronous created by this
NettyChannelListenableAsyncCloseable
which could interact with the EventLoop.public final Completable closeAsync()
AsyncCloseable
closeAsync
in interface AsyncCloseable
CompletableSource
that is notified once the close is complete.public final Completable closeAsyncGracefully()
AsyncCloseable
AsyncCloseable.closeAsync()
, but attempts to cleanup state before
abruptly closing. This provides a hint that implementations can use to stop accepting new work and finish in
flight work. This method is implemented on a "best effort" basis and may be equivalent to AsyncCloseable.closeAsync()
.
Note: Implementations may or may not apply a timeout for this operation to complete, if a caller does not
want to wait indefinitely, and are unsure if the implementation applies a timeout, it is advisable to apply a
timeout and force a call to AsyncCloseable.closeAsync()
.
closeAsyncGracefully
in interface AsyncCloseable
Completable
that is notified once the close is complete.public final Completable onClose()
ListenableAsyncCloseable
Completable
that is notified once the ListenableAsyncCloseable
was closed.onClose
in interface ListenableAsyncCloseable
Completable
that is notified on close.protected final io.netty.channel.Channel channel()
Channel
.Channel
.protected void doCloseAsyncGracefully()