org.jboss.netty.channel
接口 ChannelFutureProgressListener
- 所有超级接口:
- ChannelFutureListener, java.util.EventListener
public interface ChannelFutureProgressListener
- extends ChannelFutureListener
监听一个耗时的I/O操作的进度,如大文件传输.如果该监听器被添加到一个支持进度通知I/O操作的 ChannelFuture
, 监听器的
operationProgressed(ChannelFuture, long, long, long)
方法会被I/O线程调用.如果该不支持进度通知,
operationProgressed(ChannelFuture, long, long, long)
不会被调用.该接口继承了
ChannelFutureListener
,当该future被标识为完成时
ChannelFutureListener.operationComplete(ChannelFuture)
会被调用.
迅速返回控制权给调用者
operationProgressed(ChannelFuture, long, long, long)
和
ChannelFutureListener.operationComplete(ChannelFuture)
是被I/O线程直接调用的.因此,在I/O期间在处理方法执行一个耗时任务或阻塞操作会导致一个意想不到的终止.如果你需要在I/O期间执行一个阻塞操作,
尝试使用一个线程池在不同线程中执行该操作.
operationProgressed
void operationProgressed(ChannelFuture future,
long amount,
long current,
long total)
throws java.lang.Exception
- 当关联I/O操作的
ChannelFuture
有进展时被调用.
- 参数:
future
- 调用该回馈的源ChannelFuture
.
- 抛出:
java.lang.Exception