Java 类io.netty.channel.ChannelProgressiveFutureListener 实例源码

项目:StitchRTSP    文件:ServerHandler.java   
private void writeResponseWithFuture(ChannelHandlerContext ctx,
        DefaultHttpRequest request, HttpResponse response) {
    // TODO Auto-generated method stub
    ChannelFuture responseFuture;
       ChannelFuture lastresponseFuture;

       responseFuture = ctx.write(response,ctx.newProgressivePromise());
       lastresponseFuture = ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT);

       responseFuture.addListener(new ChannelProgressiveFutureListener() {
           @Override
           public void operationComplete(ChannelProgressiveFuture future) {
               System.err.println(future.channel() + " "+future.cause()+" "+future.isCancelled()+" "+future.isDone()+" "+future.isSuccess()+" "/*+future.sync()*/);
           }

        @Override
        public void operationProgressed(ChannelProgressiveFuture paramF,
                long paramLong1, long paramLong2) throws Exception {
            // TODO Auto-generated method stub

        }
       });
       if (!HttpHeaders.isKeepAlive(request)) {
        lastresponseFuture.addListener(ChannelFutureListener.CLOSE);
       }

}