public void succeeded(WebSocketSession session) { session.setUpgradeRequest(request); session.setUpgradeResponse(response); session.open(); super.succeeded(session); } }
@Override public WebSocketSession createSession(URI requestURI, EventDriver websocket, LogicalConnection connection) { return new WebSocketSession(containerScope, requestURI,websocket,connection); } }
/** * Jetty Connection Close */ @Override public void close() { session.close(); }
WebSocketSession session = new WebSocketSession(request.getRequestURI(),driver,connection); session.setPolicy(getPolicy().clonePolicy()); session.setUpgradeRequest(request); response.setExtensions(extensionStack.getNegotiatedExtensions()); session.setUpgradeResponse(response); connection.setSession(session); session.setOutgoingHandler(extensionStack); extensionStack.setNextOutgoing(connection); session.start();
private void upgradeConnection(ClientUpgradeResponse response) { EndPoint endp = getEndPoint(); Executor executor = getExecutor(); WebSocketClientConnection connection = new WebSocketClientConnection(endp,executor,connectPromise); // Initialize / Negotiate Extensions EventDriver websocket = connectPromise.getDriver(); WebSocketPolicy policy = connectPromise.getClient().getPolicy(); WebSocketSession session = new WebSocketSession(request.getRequestURI(),websocket,connection); session.setPolicy(policy); session.setUpgradeResponse(response); connection.setSession(session); // Initialize / Negotiate Extensions ExtensionStack extensionStack = new ExtensionStack(connectPromise.getClient().getExtensionFactory()); extensionStack.negotiate(response.getExtensions()); extensionStack.configure(connection.getParser()); extensionStack.configure(connection.getGenerator()); // Setup Incoming Routing connection.setNextIncomingFrames(extensionStack); extensionStack.setNextIncoming(session); // Setup Outgoing Routing session.setOutgoingHandler(extensionStack); extensionStack.setNextOutgoing(connection); // Now swap out the connection endp.setConnection(connection); connection.onOpen(); }
session.setUpgradeRequest(request); session.setUpgradeResponse(response); wsConnection.addListener(session); session.setOutgoingHandler(extensionStack); extensionStack.setNextOutgoing(wsConnection); session.addManaged(extensionStack); this.addManaged(session); if (session.isFailed())
session.setUpgradeRequest(new ClientUpgradeRequest(this)); session.setUpgradeResponse(new ClientUpgradeResponse(response)); connection.addListener(session); session.setOutgoingHandler(extensionStack); extensionStack.setNextOutgoing(connection); session.addManaged(extensionStack); session.setFuture(fut); wsClient.addManaged(session);
if (session.getConnection().getIOState().onCloseHandshake(true)) session.getConnection().disconnect(); session.close(close.getStatusCode(),close.getReason()); session.getRemote().sendPong(ByteBuffer.wrap(pongBuf)); break;
remote = remoteEndpointFactory.newRemoteEndpoint(connection,outgoingHandler,getBatchMode()); if(LOG_OPEN.isDebugEnabled()) LOG_OPEN.debug("[{}] {}.open() remote={}",policy.getBehavior(),this.getClass().getSimpleName(),remote); LOG.debug("[{}] open -> {}",getPolicy().getBehavior(),dump()); close(ce.getStatusCode(),ce.getMessage()); close(statusCode,t.getMessage());
session.getConnection().getIOState().onCloseRemote(close); session.getRemote().sendPong(pongBuf); break;
session.notifyError(e); session.abort(StatusCode.PROTOCOL,e.getMessage()); return ReadMode.DISCARD; session.notifyError(e); session.close(e.getStatusCode(),e.getMessage()); return ReadMode.DISCARD; session.abort(StatusCode.ABNORMAL,t.getMessage());
/** * Jetty Connection onOpen event * * @param connection the connection that was opened */ @Override public void onOpened(Connection connection) { if(LOG_OPEN.isDebugEnabled()) LOG_OPEN.debug("[{}] {}.onOpened()",policy.getBehavior(),this.getClass().getSimpleName()); open(); }
private void closeAllConnections() { for (WebSocketSession session : sessions) { if (session.getConnection() != null) { try { session.getConnection().close(); } catch (Throwable t) { LOG.debug("During Close All Connections",t); } } } }
/** * Open/Activate the session * * @throws IOException */ public void open() { if (remote != null) { // already opened return; } // Connect remote remote = new WebSocketRemoteEndpoint(connection,outgoingHandler); // Open WebSocket websocket.openSession(this); if (LOG.isDebugEnabled()) { LOG.debug("open -> {}",dump()); } }
WebSocketSession session = new WebSocketSession(request.getRequestURI(),driver,connection); session.setPolicy(getPolicy().clonePolicy()); session.setUpgradeRequest(request); response.setExtensions(extensionStack.getNegotiatedExtensions()); session.setUpgradeResponse(response); connection.setSession(session); session.setOutgoingHandler(extensionStack); extensionStack.setNextOutgoing(connection); session.start();
private void upgradeConnection(ClientUpgradeResponse response) { EndPoint endp = getEndPoint(); Executor executor = getExecutor(); WebSocketClientConnection connection = new WebSocketClientConnection(endp,executor,connectPromise); // Initialize / Negotiate Extensions EventDriver websocket = connectPromise.getDriver(); WebSocketPolicy policy = connectPromise.getClient().getPolicy(); WebSocketSession session = new WebSocketSession(request.getRequestURI(),websocket,connection); session.setPolicy(policy); session.setUpgradeResponse(response); connection.setSession(session); // Initialize / Negotiate Extensions ExtensionStack extensionStack = new ExtensionStack(connectPromise.getClient().getExtensionFactory()); extensionStack.negotiate(response.getExtensions()); extensionStack.configure(connection.getParser()); extensionStack.configure(connection.getGenerator()); // Setup Incoming Routing connection.setNextIncomingFrames(extensionStack); extensionStack.setNextIncoming(session); // Setup Outgoing Routing session.setOutgoingHandler(extensionStack); extensionStack.setNextOutgoing(connection); // Now swap out the connection endp.setConnection(connection); connection.onOpen(); }
if (session.getConnection().getIOState().onCloseHandshake(true)) session.getConnection().disconnect(); session.close(close.getStatusCode(),close.getReason()); session.getRemote().sendPong(ByteBuffer.wrap(pongBuf)); break;
public boolean sessionOpened(WebSocketSession session) { if (LOG.isDebugEnabled()) { LOG.debug("Session Opened: {}",session); } if (!isRunning()) { LOG.warn("Factory is not running"); return false; } boolean ret = sessions.offer(session); session.open(); return ret; }
private void closeAllConnections() { for (WebSocketSession session : sessions) { if (session.getConnection() != null) { try { session.getConnection().close(); } catch (Throwable t) { LOG.debug("During Close All Connections",t); } } } }
/** * Open/Activate the session * * @throws IOException */ public void open() { if (remote != null) { // already opened return; } // Connect remote remote = new WebSocketRemoteEndpoint(connection,outgoingHandler); // Open WebSocket websocket.openSession(this); if (LOG.isDebugEnabled()) { LOG.debug("open -> {}",dump()); } }