replaceDecoder( channel, new WebSocket13FrameDecoder(false, allowExtensions, getMaxFramePayloadLength()));
new WebSocket13FrameDecoder(true, allowExtensions, getMaxFramePayloadLength()));
@SuppressWarnings("rawtypes") private void replaceListeners(ChannelHandlerContext context) { int maxFrameSize = engine.getEngineConfiguration().getMaxFrameSize(); boolean maskClientMessagePayload = true; boolean maskServerMessagePayload = false; WebsocketConnector connector = (WebsocketConnector) context.getAttachment(); String wsVersion = connector.getWebsocketVersion(); ReplayingDecoder decoder = null; OneToOneEncoder encoder = null; if (wsVersion.equals(WebsocketVersions.HYBI_13.getVersionCode())) { decoder = new WebSocket13FrameDecoder(maskClientMessagePayload, true, maxFrameSize); encoder = new WebSocket13FrameEncoder(maskServerMessagePayload); } else if (wsVersion.equals(WebsocketVersions.HYBI_10.getVersionCode())) { decoder = new WebSocket08FrameDecoder(maskClientMessagePayload, true, maxFrameSize); encoder = new WebSocket08FrameEncoder(maskServerMessagePayload); } else if (wsVersion.equals(WebsocketVersions.HIXIE_76.getVersionCode())) { decoder = new WebSocket00FrameDecoder((long) maxFrameSize); encoder = new WebSocket00FrameEncoder(); } ChannelPipeline pipeline = context.getChannel().getPipeline(); pipeline.replace("decoder", "wsDecoder", decoder); pipeline.replace("encoder", "wsEncoder", encoder); pipeline.remove("aggregator"); }