Interface ChannelFutureProgressListener

All Superinterfaces:
ChannelFutureListener, EventListener

public interface ChannelFutureProgressListener extends ChannelFutureListener
Listens to the progress of a time-consuming I/O operation such as a large file transfer. If this listener is added to a ChannelFuture of an I/O operation that supports progress notification, the listener's operationProgressed(ChannelFuture, long, long, long) method will be called back by an I/O thread. If the operation does not support progress notification, operationProgressed(ChannelFuture, long, long, long) will not be invoked. Like a usual ChannelFutureListener that this interface extends, ChannelFutureListener.operationComplete(ChannelFuture) will be called when the future is marked as complete.

Return the control to the caller quickly

operationProgressed(ChannelFuture, long, long, long) and ChannelFutureListener.operationComplete(ChannelFuture) is directly called by an I/O thread. Therefore, performing a time consuming task or a blocking operation in the handler method can cause an unexpected pause during I/O. If you need to perform a blocking operation on I/O completion, try to execute the operation in a different thread using a thread pool.
  • Method Details

    • operationProgressed

      void operationProgressed(ChannelFuture future, long amount, long current, long total) throws Exception
      Invoked when the I/O operation associated with the ChannelFuture has been progressed.
      Parameters:
      future - the source ChannelFuture which called this callback
      Throws:
      Exception