@Override public WebSocket stream(String fragment, boolean last) { gWebSocket.stream(last, fragment); return this; }
@Override public WebSocket sendPong(byte[] payload) { gWebSocket.sendPong(payload); return this; }
@Override public WebSocket sendMessage(String message) { gWebSocket.send(message); return this; }
@Override public void onClosed(final Closeable closeable, final CloseType type) throws IOException { final WebSocket webSocket = WebSocketHolder.getWebSocket(connection); webSocket.close(); webSocket.onClose(new ClosingFrame(WebSocket.END_POINT_GOING_DOWN, "Close detected on connection")); } });
context.protocolHandler.setConnection(ctx.getConnection()); final GrizzlyWebSocketAdapter webSocketAdapter = createWebSocketAdapter(context); ws.onConnect(); WebSocketHolder.set(ctx.getConnection(), context.protocolHandler, ws); ((WebSocketUpgradeHandler) context.getAsyncHandler()).onSuccess(context.webSocket); final int wsTimeout = provider.getClientConfig().getWebSocketTimeout();
final URI wsURI = httpTxCtx.wsRequestURI.toJavaNetURI(); secure = "wss".equalsIgnoreCase(wsURI.getScheme()); httpTxCtx.protocolHandler = Version.RFC6455.createHandler(true); httpTxCtx.handshake = httpTxCtx.protocolHandler.createClientHandShake(wsURI); requestPacket = (HttpRequestPacket) httpTxCtx.handshake.composeHeaders().getHttpHeader(); } catch (URISyntaxException e) { throw new IllegalArgumentException("Invalid WS URI: " + httpTxCtx.wsRequestURI);
@Override public void onClose(org.glassfish.grizzly.websockets.WebSocket gWebSocket, DataFrame dataFrame) { try { if (ahcListener instanceof WebSocketCloseCodeReasonListener) { ClosingFrame cf = ClosingFrame.class.cast(dataFrame); WebSocketCloseCodeReasonListener.class.cast(ahcListener).onClose(webSocket, cf.getCode(), cf.getReason()); } else { ahcListener.onClose(webSocket); } } catch (Throwable e) { ahcListener.onError(e); } }
@Override public boolean isOpen() { return gWebSocket.isConnected(); }
@Override public void close() { gWebSocket.close(); }
@Override public WebSocket addWebSocketListener(WebSocketListener l) { gWebSocket.add(new AHCWebSocketListenerAdapter(l, this)); return this; }
@Override public WebSocket sendPing(byte[] payload) { gWebSocket.sendPing(payload); return this; }
@Override public WebSocket removeWebSocketListener(WebSocketListener l) { gWebSocket.remove(new AHCWebSocketListenerAdapter(l, this)); return this; }
/** * Create new GrizzlyWebSocketAdapter instance. * * @param config * @param protocolHandler * @return GrizzlyWebSocketAdapter */ public static GrizzlyWebSocketAdapter newInstance( final AsyncHttpProviderConfig<?, ?> config, final ProtocolHandler protocolHandler) { final SimpleWebSocket ws = new SimpleWebSocket(protocolHandler); boolean bufferFragments = true; if (config instanceof GrizzlyAsyncHttpProviderConfig) { bufferFragments = (Boolean) ((GrizzlyAsyncHttpProviderConfig) config) .getProperty(GrizzlyAsyncHttpProviderConfig.Property.BUFFER_WEBSOCKET_FRAGMENTS); } return new GrizzlyWebSocketAdapter(ws, bufferFragments); }
doDefaultTransportConfig(); fcb.add(new WebSocketClientFilter());
@Override public void onClosed(final Closeable closeable, final CloseType type) throws IOException { final WebSocket webSocket = WebSocketHolder.getWebSocket(connection); webSocket.close(); webSocket.onClose(new ClosingFrame(WebSocket.END_POINT_GOING_DOWN, "Close detected on connection")); } });
@Override public WebSocket sendMessage(byte[] message) { gWebSocket.send(message); return this; }
@Override public WebSocket stream(byte[] fragment, int offset, int len, boolean last) { if (MiscUtils.isNonEmpty(fragment)) { gWebSocket.stream(last, fragment, offset, len); } return this; }
@Override public void onClosed(final Closeable closeable, final CloseType type) throws IOException { final WebSocket webSocket = WebSocketHolder.getWebSocket(connection); webSocket.close(); webSocket.onClose(new ClosingFrame(WebSocket.END_POINT_GOING_DOWN, "Close detected on connection")); } });
@Override public WebSocket stream(byte[] fragment, boolean last) { if (MiscUtils.isNonEmpty(fragment)) { gWebSocket.stream(last, fragment, 0, fragment.length); } return this; }
@Override public void onClosed(final Closeable closeable, final CloseType type) throws IOException { final WebSocket webSocket = WebSocketHolder.getWebSocket(connection); webSocket.close(); webSocket.onClose(new ClosingFrame(WebSocket.END_POINT_GOING_DOWN, "Close detected on connection")); } });