/** * Serialize dataframe and send it to {@link org.glassfish.tyrus.core.TyrusWebSocket}. * * @param webSocket {@link org.glassfish.tyrus.core.TyrusWebSocket} instance used for sending the frame. * @param dataFrame frame to be sent. * @param frameType type of the frame (monitoring). * @return future representing outcome of the send operation. */ private Future<?> sendBroadcast(TyrusWebSocket webSocket, Frame dataFrame, TyrusFrame.FrameType frameType) { byte[] tempFrame; final ByteBuffer byteBuffer = webSocket.getProtocolHandler().frame(dataFrame); tempFrame = new byte[byteBuffer.remaining()]; byteBuffer.get(tempFrame); final Future<Frame> frameFuture = webSocket.sendRawFrame(ByteBuffer.wrap(tempFrame)); webSocket.getMessageEventListener() .onFrameSent(frameType, dataFrame.getPayloadLength()); return frameFuture; }
/** * Serialize dataframe and send it to {@link org.glassfish.tyrus.core.TyrusWebSocket}. * * @param webSocket {@link org.glassfish.tyrus.core.TyrusWebSocket} instance used for sending the frame. * @param dataFrame frame to be sent. * @param frameType type of the frame (monitoring). * @return future representing outcome of the send operation. */ private Future<?> sendBroadcast(TyrusWebSocket webSocket, Frame dataFrame, TyrusFrame.FrameType frameType) { byte[] tempFrame; final ByteBuffer byteBuffer = webSocket.getProtocolHandler().frame(dataFrame); tempFrame = new byte[byteBuffer.remaining()]; byteBuffer.get(tempFrame); final Future<Frame> frameFuture = webSocket.sendRawFrame(ByteBuffer.wrap(tempFrame)); webSocket.getMessageEventListener() .onFrameSent(frameType, dataFrame.getPayloadLength()); return frameFuture; }
@Override public Future<?> call(TyrusWebSocket webSocket, TyrusSession session) { final ProtocolHandler protocolHandler = webSocket.getProtocolHandler(); // we need to let protocol handler execute extensions if there are any if (protocolHandler.hasExtensions()) { final Frame dataFrame = new TextFrame(message, false, true); return sendBroadcast(webSocket, dataFrame, TyrusFrame.FrameType.TEXT); } else { final Future<Frame> frameFuture = webSocket.sendRawFrame(ByteBuffer.wrap(frame)); webSocket.getMessageEventListener().onFrameSent(TyrusFrame.FrameType.TEXT, payloadLength); return frameFuture; } } };
@Override public Future<?> call(TyrusWebSocket webSocket, TyrusSession session) { final ProtocolHandler protocolHandler = webSocket.getProtocolHandler(); // we need to let protocol handler execute extensions if there are any if (protocolHandler.hasExtensions()) { final Frame dataFrame = new BinaryFrame(byteArrayMessage, false, true); return sendBroadcast(webSocket, dataFrame, TyrusFrame.FrameType.BINARY); } else { final Future<Frame> frameFuture = webSocket.sendRawFrame(ByteBuffer.wrap(frame)); webSocket.getMessageEventListener().onFrameSent(TyrusFrame.FrameType.BINARY, payloadLength); return frameFuture; } } };
@Override public Future<?> call(TyrusWebSocket webSocket, TyrusSession session) { final ProtocolHandler protocolHandler = webSocket.getProtocolHandler(); // we need to let protocol handler execute extensions if there are any if (protocolHandler.hasExtensions()) { final Frame dataFrame = new BinaryFrame(byteArrayMessage, false, true); return sendBroadcast(webSocket, dataFrame, TyrusFrame.FrameType.BINARY); } else { final Future<Frame> frameFuture = webSocket.sendRawFrame(ByteBuffer.wrap(frame)); webSocket.getMessageEventListener().onFrameSent(TyrusFrame.FrameType.BINARY, payloadLength); return frameFuture; } } };
@Override public Future<?> call(TyrusWebSocket webSocket, TyrusSession session) { final ProtocolHandler protocolHandler = webSocket.getProtocolHandler(); // we need to let protocol handler execute extensions if there are any if (protocolHandler.hasExtensions()) { final Frame dataFrame = new TextFrame(message, false, true); return sendBroadcast(webSocket, dataFrame, TyrusFrame.FrameType.TEXT); } else { final Future<Frame> frameFuture = webSocket.sendRawFrame(ByteBuffer.wrap(frame)); webSocket.getMessageEventListener().onFrameSent(TyrusFrame.FrameType.TEXT, payloadLength); return frameFuture; } } };