final ChannelFuture handshakeFuture = new DefaultChannelFuture(channel, false);
future.addListener(new ChannelFutureListener() {
public void operationComplete(ChannelFuture future) {
ChannelPipeline p = future.getChannel().getPipeline();
p.replace(HttpRequestEncoder.class, "ws-encoder", new WebSocket13FrameEncoder(true));
if (future.isSuccess()) {
handshakeFuture.setSuccess();
} else {
handshakeFuture.setFailure(future.getCause());