@OnWebSocketMessage public void onWebSocketBinary(byte[] message, int offset, int length) { if (this.delegateSession != null) { ByteBuffer buffer = ByteBuffer.wrap(message, offset, length); WebSocketMessage webSocketMessage = toMessage(Type.BINARY, buffer); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); } }
protected WebSocketFrame toFrame(WebSocketMessage message) { ByteBuf byteBuf = NettyDataBufferFactory.toByteBuf(message.getPayload()); if (WebSocketMessage.Type.TEXT.equals(message.getType())) { return new TextWebSocketFrame(byteBuf); } else if (WebSocketMessage.Type.BINARY.equals(message.getType())) { return new BinaryWebSocketFrame(byteBuf); } else if (WebSocketMessage.Type.PING.equals(message.getType())) { return new PingWebSocketFrame(byteBuf); } else if (WebSocketMessage.Type.PONG.equals(message.getType())) { return new PongWebSocketFrame(byteBuf); } else { throw new IllegalArgumentException("Unexpected message type: " + message.getType()); } }
@OnWebSocketMessage public void onWebSocketText(String message) { if (this.delegateSession != null) { WebSocketMessage webSocketMessage = toMessage(Type.TEXT, message); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); } }
@Override public void onOpen(Session session, EndpointConfig config) { this.delegateSession = this.sessionFactory.apply(session); Assert.state(this.delegateSession != null, "No delegate session"); session.addMessageHandler(String.class, message -> { WebSocketMessage webSocketMessage = toMessage(message); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); }); session.addMessageHandler(ByteBuffer.class, message -> { WebSocketMessage webSocketMessage = toMessage(message); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); }); session.addMessageHandler(PongMessage.class, message -> { WebSocketMessage webSocketMessage = toMessage(message); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); }); this.delegateHandler.handle(this.delegateSession).subscribe(this.delegateSession); }
@Override protected boolean sendMessage(WebSocketMessage message) throws IOException { ByteBuffer buffer = message.getPayload().asByteBuffer(); if (WebSocketMessage.Type.TEXT.equals(message.getType())) { getSendProcessor().setReadyToSend(false); String text = new String(buffer.array(), StandardCharsets.UTF_8); getDelegate().getRemote().sendString(text, new SendProcessorCallback()); } else if (WebSocketMessage.Type.BINARY.equals(message.getType())) { getSendProcessor().setReadyToSend(false); getDelegate().getRemote().sendBytes(buffer, new SendProcessorCallback()); } else if (WebSocketMessage.Type.PING.equals(message.getType())) { getDelegate().getRemote().sendPing(buffer); } else if (WebSocketMessage.Type.PONG.equals(message.getType())) { getDelegate().getRemote().sendPong(buffer); } else { throw new IllegalArgumentException("Unexpected message type: " + message.getType()); } return true; }
@Override protected boolean sendMessage(WebSocketMessage message) throws IOException { ByteBuffer buffer = message.getPayload().asByteBuffer(); if (WebSocketMessage.Type.TEXT.equals(message.getType())) { getSendProcessor().setReadyToSend(false); String text = new String(buffer.array(), StandardCharsets.UTF_8); getDelegate().getAsyncRemote().sendText(text, new SendProcessorCallback()); } else if (WebSocketMessage.Type.BINARY.equals(message.getType())) { getSendProcessor().setReadyToSend(false); getDelegate().getAsyncRemote().sendBinary(buffer, new SendProcessorCallback()); } else if (WebSocketMessage.Type.PING.equals(message.getType())) { getDelegate().getAsyncRemote().sendPing(buffer); } else if (WebSocketMessage.Type.PONG.equals(message.getType())) { getDelegate().getAsyncRemote().sendPong(buffer); } else { throw new IllegalArgumentException("Unexpected message type: " + message.getType()); } return true; }
@OnWebSocketFrame public void onWebSocketFrame(Frame frame) { if (this.delegateSession != null) { if (OpCode.PONG == frame.getOpCode()) { ByteBuffer buffer = (frame.getPayload() != null ? frame.getPayload() : EMPTY_PAYLOAD); WebSocketMessage webSocketMessage = toMessage(Type.PONG, buffer); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); } } }
@Override protected boolean sendMessage(WebSocketMessage message) throws IOException { ByteBuffer buffer = message.getPayload().asByteBuffer(); if (WebSocketMessage.Type.TEXT.equals(message.getType())) { getSendProcessor().setReadyToSend(false); String text = new String(buffer.array(), StandardCharsets.UTF_8); WebSockets.sendText(text, getDelegate(), new SendProcessorCallback(message.getPayload())); } else if (WebSocketMessage.Type.BINARY.equals(message.getType())) { getSendProcessor().setReadyToSend(false); WebSockets.sendBinary(buffer, getDelegate(), new SendProcessorCallback(message.getPayload())); } else if (WebSocketMessage.Type.PING.equals(message.getType())) { getSendProcessor().setReadyToSend(false); WebSockets.sendPing(buffer, getDelegate(), new SendProcessorCallback(message.getPayload())); } else if (WebSocketMessage.Type.PONG.equals(message.getType())) { getSendProcessor().setReadyToSend(false); WebSockets.sendPong(buffer, getDelegate(), new SendProcessorCallback(message.getPayload())); } else { throw new IllegalArgumentException("Unexpected message type: " + message.getType()); } return true; }
@OnWebSocketMessage public void onWebSocketBinary(byte[] message, int offset, int length) { if (this.delegateSession != null) { ByteBuffer buffer = ByteBuffer.wrap(message, offset, length); WebSocketMessage webSocketMessage = toMessage(Type.BINARY, buffer); delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); } }
protected WebSocketFrame toFrame(WebSocketMessage message) { ByteBuf byteBuf = NettyDataBufferFactory.toByteBuf(message.getPayload()); if (WebSocketMessage.Type.TEXT.equals(message.getType())) { return new TextWebSocketFrame(byteBuf); } else if (WebSocketMessage.Type.BINARY.equals(message.getType())) { return new BinaryWebSocketFrame(byteBuf); } else if (WebSocketMessage.Type.PING.equals(message.getType())) { return new PingWebSocketFrame(byteBuf); } else if (WebSocketMessage.Type.PONG.equals(message.getType())) { return new PongWebSocketFrame(byteBuf); } else { throw new IllegalArgumentException("Unexpected message type: " + message.getType()); } }
@OnWebSocketMessage public void onWebSocketText(String message) { if (this.delegateSession != null) { WebSocketMessage webSocketMessage = toMessage(Type.TEXT, message); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); } }
@Override public void onOpen(Session session, EndpointConfig config) { this.delegateSession = this.sessionFactory.apply(session); session.addMessageHandler(String.class, message -> { WebSocketMessage webSocketMessage = toMessage(message); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); }); session.addMessageHandler(ByteBuffer.class, message -> { WebSocketMessage webSocketMessage = toMessage(message); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); }); session.addMessageHandler(PongMessage.class, message -> { WebSocketMessage webSocketMessage = toMessage(message); this.delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); }); this.delegateHandler.handle(this.delegateSession).subscribe(this.delegateSession); }
@Override protected boolean sendMessage(WebSocketMessage message) throws IOException { ByteBuffer buffer = message.getPayload().asByteBuffer(); if (WebSocketMessage.Type.TEXT.equals(message.getType())) { getSendProcessor().setReadyToSend(false); String text = new String(buffer.array(), StandardCharsets.UTF_8); getDelegate().getAsyncRemote().sendText(text, new SendProcessorCallback()); } else if (WebSocketMessage.Type.BINARY.equals(message.getType())) { getSendProcessor().setReadyToSend(false); getDelegate().getAsyncRemote().sendBinary(buffer, new SendProcessorCallback()); } else if (WebSocketMessage.Type.PING.equals(message.getType())) { getDelegate().getAsyncRemote().sendPing(buffer); } else if (WebSocketMessage.Type.PONG.equals(message.getType())) { getDelegate().getAsyncRemote().sendPong(buffer); } else { throw new IllegalArgumentException("Unexpected message type: " + message.getType()); } return true; }
@Override protected boolean sendMessage(WebSocketMessage message) throws IOException { ByteBuffer buffer = message.getPayload().asByteBuffer(); if (WebSocketMessage.Type.TEXT.equals(message.getType())) { getSendProcessor().setReadyToSend(false); String text = new String(buffer.array(), StandardCharsets.UTF_8); getDelegate().getRemote().sendString(text, new SendProcessorCallback()); } else if (WebSocketMessage.Type.BINARY.equals(message.getType())) { getSendProcessor().setReadyToSend(false); getDelegate().getRemote().sendBytes(buffer, new SendProcessorCallback()); } else if (WebSocketMessage.Type.PING.equals(message.getType())) { getDelegate().getRemote().sendPing(buffer); } else if (WebSocketMessage.Type.PONG.equals(message.getType())) { getDelegate().getRemote().sendPong(buffer); } else { throw new IllegalArgumentException("Unexpected message type: " + message.getType()); } return true; }
@Override protected boolean sendMessage(WebSocketMessage message) throws IOException { ByteBuffer buffer = message.getPayload().asByteBuffer(); if (WebSocketMessage.Type.TEXT.equals(message.getType())) { getSendProcessor().setReadyToSend(false); String text = new String(buffer.array(), StandardCharsets.UTF_8); WebSockets.sendText(text, getDelegate(), new SendProcessorCallback()); } else if (WebSocketMessage.Type.BINARY.equals(message.getType())) { getSendProcessor().setReadyToSend(false); WebSockets.sendBinary(buffer, getDelegate(), new SendProcessorCallback()); } else if (WebSocketMessage.Type.PING.equals(message.getType())) { getSendProcessor().setReadyToSend(false); WebSockets.sendPing(buffer, getDelegate(), new SendProcessorCallback()); } else if (WebSocketMessage.Type.PONG.equals(message.getType())) { getSendProcessor().setReadyToSend(false); WebSockets.sendPong(buffer, getDelegate(), new SendProcessorCallback()); } else { throw new IllegalArgumentException("Unexpected message type: " + message.getType()); } return true; }
@OnWebSocketFrame public void onWebSocketFrame(Frame frame) { if (this.delegateSession != null) { if (OpCode.PONG == frame.getOpCode()) { ByteBuffer buffer = (frame.getPayload() != null ? frame.getPayload() : EMPTY_PAYLOAD); WebSocketMessage webSocketMessage = toMessage(Type.PONG, buffer); delegateSession.handleMessage(webSocketMessage.getType(), webSocketMessage); } } }
WampMessage wampMessage = null; if (inMsg.getType() == WebSocketMessage.Type.TEXT) { byte[] bytes = new byte[inMsg.getPayload().readableByteCount()]; inMsg.getPayload().read(bytes); else if (inMsg.getType() == WebSocketMessage.Type.BINARY) { ByteBuffer byteBuffer = inMsg.getPayload().asByteBuffer();