private void closeConnections() { for (Session session : sessions) session.goAway(new GoAwayInfo(), Callback.Adapter.INSTANCE); sessions.clear(); }
@Override public void goAway(GoAwayInfo goAwayInfo, Callback callback) { goAway(SessionStatus.OK, goAwayInfo.getTimeout(), goAwayInfo.getUnit(), callback); }
protected void goAway(ISession session) { if (session != null) session.goAway(new GoAwayInfo(), Callback.Adapter.INSTANCE); }
private void goAway(GoAwayInfo goAwayInfo, SessionStatus sessionStatus) throws ExecutionException, InterruptedException, TimeoutException { FutureCallback result = new FutureCallback(); goAway(sessionStatus, goAwayInfo.getTimeout(), goAwayInfo.getUnit(), result); if (goAwayInfo.getTimeout() > 0) result.get(goAwayInfo.getTimeout(), goAwayInfo.getUnit()); else result.get(); }
void closeSessions() { for (Session session : sessions) session.goAway(new GoAwayInfo(), Callback.Adapter.INSTANCE); sessions.clear(); }
private Session produceSession(String host, short version, InetSocketAddress address) { try { Session session = serverSessions.get(host); if (session == null) { SPDYClient client = factory.newSPDYClient(version); session = client.connect(address, sessionListener); if (LOG.isDebugEnabled()) LOG.debug("Proxy session connected to {}", address); Session existing = serverSessions.putIfAbsent(host, session); if (existing != null) { session.goAway(new GoAwayInfo(), Callback.Adapter.INSTANCE); session = existing; } } return session; } catch (Exception x) { LOG.debug(x); return null; } }
@Override public void messageComplete(long contentLength) throws IOException { if (stream == null) { assert content == null; if (headers.isEmpty()) proxyEngineSelector.onGoAway(session, new GoAwayInfo(0, SessionStatus.OK)); else syn(true); } else { stream.getStreamFrameListener().onData(stream, toDataInfo(content, true)); } headers.clear(); stream = null; content = null; }