Class NettyChannelListenableAsyncCloseable

    • Constructor Detail

      • NettyChannelListenableAsyncCloseable

        public NettyChannelListenableAsyncCloseable​(io.netty.channel.Channel channel,
                                                    Executor offloadingExecutor)
        New instance.
        Parameters:
        channel - to use.
        offloadingExecutor - Executor used to offload any signals to any asynchronous created by this NettyChannelListenableAsyncCloseable which could interact with the EventLoop.
    • Method Detail

      • closeAsyncGracefully

        public final Completable closeAsyncGracefully()
        Description copied from interface: AsyncCloseable
        Used to close/shutdown a resource, similar to 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().

        Specified by:
        closeAsyncGracefully in interface AsyncCloseable
        Returns:
        A Completable that is notified once the close is complete.
      • channel

        protected final io.netty.channel.Channel channel()
        Get access to the underlying Channel.
        Returns:
        the underlying Channel.
      • doCloseAsyncGracefully

        protected void doCloseAsyncGracefully()
        Initiate graceful closure.