Class AbstractChannel.GracefulChannelCloseable

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.nio.channels.Channel, Closeable
    Enclosing class:
    AbstractChannel

    public class AbstractChannel.GracefulChannelCloseable
    extends IoBaseCloseable
    • Field Detail

      • closing

        private final java.util.concurrent.atomic.AtomicBoolean closing
    • Constructor Detail

      • GracefulChannelCloseable

        public GracefulChannelCloseable()
    • Method Detail

      • addCloseFutureListener

        public void addCloseFutureListener​(SshFutureListener<CloseFuture> listener)
        Description copied from interface: Closeable
        Pre-register a listener to be informed when resource is closed. If resource is already closed, the listener will be invoked immediately and not registered for future notification
        Parameters:
        listener - The notification SshFutureListener - never null
      • removeCloseFutureListener

        public void removeCloseFutureListener​(SshFutureListener<CloseFuture> listener)
        Description copied from interface: Closeable
        Remove a pre-registered close event listener
        Parameters:
        listener - The register SshFutureListener - never null. Ignored if not registered or resource already closed
      • isClosing

        public boolean isClosing()
        Description copied from interface: Closeable
        Returns true if the Closeable.close(boolean) method has been called. Note that this method will return true even if this Closeable.isClosed() returns true.
        Returns:
        true if closing
      • setClosing

        public void setClosing​(boolean on)
      • isClosed

        public boolean isClosed()
        Description copied from interface: Closeable
        Returns true if this object has been closed.
        Returns:
        true if closing
      • close

        public CloseFuture close​(boolean immediately)
        Description copied from interface: Closeable
        Close this resource asynchronously and return a future. Resources support two closing modes: a graceful mode which will cleanly close the resource and an immediate mode which will close the resources abruptly.
        Parameters:
        immediately - true if the resource should be shut down abruptly, false for a graceful close
        Returns:
        a CloseFuture representing the close request
      • handleClosePacketWritten

        protected void handleClosePacketWritten​(Channel channel,
                                                boolean immediately)
      • handleClosePacketWriteFailure

        protected void handleClosePacketWriteFailure​(Channel channel,
                                                     boolean immediately,
                                                     java.lang.Throwable t)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object