/** * Factory method for new ConnectionManager (used by other projects like cometd) * * @return the ConnectionManager instance to use */ protected ConnectionManager newConnectionManager() { return new ConnectionManager(this); }
@Override protected void doStop() throws Exception { closeAllConnections(); sessions.clear(); super.doStop(); removeBean(selector); }
@Override protected void doStart() throws Exception { selector = newWebSocketClientSelectorManager(client); selector.setSslContextFactory(client.getSslContextFactory()); selector.setConnectTimeout(client.getConnectTimeout()); addBean(selector); super.doStart(); }
@Override public void run() { try { SocketChannel channel = SocketChannel.open(); if (bindAddress != null) { channel.bind(bindAddress); } URI wsUri = getRequest().getRequestURI(); channel.socket().setTcpNoDelay(true); // disable nagle channel.configureBlocking(false); // async always InetSocketAddress address = toSocketAddress(wsUri); channel.connect(address); getSelector().connect(channel,this); } catch (Throwable t) { failed(t); } } }
public ConnectPromise connect(WebSocketClient client, EventDriver driver, ClientUpgradeRequest request) { URI toUri = request.getRequestURI(); String hostname = toUri.getHost(); if (isVirtualConnectionPossibleTo(hostname)) { return new VirtualConnect(client,driver,request); } return new PhysicalConnect(client,driver,request); }
@Override public void onClose() { super.onClose(); ConnectionManager connectionManager = connectPromise.getClient().getConnectionManager(); connectionManager.removeSession(getSession()); }
@Override public void onOpen() { boolean beenOpened = opened.getAndSet(true); if (!beenOpened) { WebSocketSession session = getSession(); ConnectionManager connectionManager = connectPromise.getClient().getConnectionManager(); connectionManager.addSession(session); connectPromise.succeeded(session); ByteBuffer extraBuf = connectPromise.getResponse().getRemainingBuffer(); if (extraBuf.hasRemaining()) { LOG.debug("Parsing extra remaining buffer from UpgradeConnection"); getParser().parse(extraBuf); } } super.onOpen(); }
ConnectPromise promise = manager.connect(this,driver,request);
@Override protected void doStart() throws Exception { selector = newWebSocketClientSelectorManager(client); selector.setSslContextFactory(client.getSslContextFactory()); selector.setConnectTimeout(client.getConnectTimeout()); addBean(selector); super.doStart(); }
@Override public void run() { try { SocketChannel channel = SocketChannel.open(); if (bindAddress != null) { channel.bind(bindAddress); } URI wsUri = getRequest().getRequestURI(); channel.socket().setTcpNoDelay(true); // disable nagle channel.configureBlocking(false); // async always InetSocketAddress address = toSocketAddress(wsUri); channel.connect(address); getSelector().connect(channel,this); } catch (Throwable t) { failed(t); } } }
public ConnectPromise connect(WebSocketClient client, EventDriver driver, ClientUpgradeRequest request) { URI toUri = request.getRequestURI(); String hostname = toUri.getHost(); if (isVirtualConnectionPossibleTo(hostname)) { return new VirtualConnect(client,driver,request); } return new PhysicalConnect(client,driver,request); }
@Override public void onClose() { super.onClose(); ConnectionManager connectionManager = connectPromise.getClient().getConnectionManager(); connectionManager.removeSession(getSession()); }
@Override public void onOpen() { boolean beenOpened = opened.getAndSet(true); if (!beenOpened) { WebSocketSession session = getSession(); ConnectionManager connectionManager = connectPromise.getClient().getConnectionManager(); connectionManager.addSession(session); connectPromise.succeeded(session); ByteBuffer extraBuf = connectPromise.getResponse().getRemainingBuffer(); if (extraBuf.hasRemaining()) { LOG.debug("Parsing extra remaining buffer from UpgradeConnection"); getParser().parse(extraBuf); } } super.onOpen(); }
ConnectPromise promise = manager.connect(this,driver,request);
@Override protected void doStop() throws Exception { closeAllConnections(); sessions.clear(); super.doStop(); removeBean(selector); }
/** * Factory method for new ConnectionManager (used by other projects like cometd) * * @return the ConnectionManager instance to use */ protected ConnectionManager newConnectionManager() { return new ConnectionManager(this); }