diff --git a/src/main/java/org/jboss/netty/channel/socket/http/HttpTunnelingClientSocketChannel.java b/src/main/java/org/jboss/netty/channel/socket/http/HttpTunnelingClientSocketChannel.java index 28ba85199e..6519d2c622 100644 --- a/src/main/java/org/jboss/netty/channel/socket/http/HttpTunnelingClientSocketChannel.java +++ b/src/main/java/org/jboss/netty/channel/socket/http/HttpTunnelingClientSocketChannel.java @@ -146,8 +146,20 @@ class HttpTunnelingClientSocketChannel extends AbstractChannel @Override public ChannelFuture setInterestOps(int interestOps) { - // TODO: Wrap the future. - return channel.setInterestOps(interestOps); + final ChannelFuture future = future(this); + channel.setInterestOps(interestOps).addListener(new ChannelFutureListener() { + public void operationComplete(ChannelFuture f) + throws Exception { + if (f.isSuccess()) { + future.setSuccess(); + fireChannelInterestChanged(HttpTunnelingClientSocketChannel.this); + } else { + future.setFailure(f.getCause()); + fireExceptionCaught(HttpTunnelingClientSocketChannel.this, f.getCause()); + } + } + }); + return future; } @Override