Example usage for io.netty.handler.codec.http.websocketx WebSocketFrame retain

List of usage examples for io.netty.handler.codec.http.websocketx WebSocketFrame retain

Introduction

In this page you can find the example usage for io.netty.handler.codec.http.websocketx WebSocketFrame retain.

Prototype

@Override
    public WebSocketFrame retain(int increment) 

Source Link

Usage

From source file:org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.java

License:Apache License

@Override
protected void channelRead0(final ChannelHandlerContext ctx, final Object msg) throws Exception {
    final Channel ch = ctx.channel();
    if (!handshaker.isHandshakeComplete()) {
        // web socket client connected
        handshaker.finishHandshake(ch, (FullHttpResponse) msg);
        handshakeFuture.setSuccess();/* w  ww . j a v  a 2s.  c  o  m*/
        return;
    }

    if (msg instanceof FullHttpResponse) {
        final FullHttpResponse response = (FullHttpResponse) msg;
        throw new Exception("Unexpected FullHttpResponse (getStatus=" + response.getStatus() + ", content="
                + response.content().toString(CharsetUtil.UTF_8) + ')');
    }

    // a close frame doesn't mean much here.  errors raised from closed channels will mark the host as dead
    final WebSocketFrame frame = (WebSocketFrame) msg;
    if (frame instanceof TextWebSocketFrame) {
        ctx.fireChannelRead(frame.retain(2));
    } else if (frame instanceof PongWebSocketFrame) {
        logger.debug("Received response from keep-alive request");
    } else if (frame instanceof BinaryWebSocketFrame) {
        ctx.fireChannelRead(frame.retain(2));
    } else if (frame instanceof CloseWebSocketFrame)
        ch.close();

}