@Override public void closeIdle(final TimeValue idleTime) { final long deadline = System.currentTimeMillis() - (TimeValue.isPositive(idleTime) ? idleTime.toMillis() : 0); enumAvailable(new Callback<PoolEntry<T, C>>() { @Override public void execute(final PoolEntry<T, C> entry) { if (entry.getUpdated() <= deadline) { entry.discardConnection(CloseMode.GRACEFUL); } } }); }
@Override public void closeIdle(final TimeValue idleTime) { final long deadline = System.currentTimeMillis() - (TimeValue.isPositive(idleTime) ? idleTime.toMillis() : 0); enumAvailable(new Callback<PoolEntry<T, C>>() { @Override public void execute(final PoolEntry<T, C> entry) { if (entry.getUpdated() <= deadline) { entry.discardConnection(CloseMode.GRACEFUL); } } }); }
@Override public void closeIdle(final TimeValue idleTime) { final long deadline = System.currentTimeMillis() - (TimeValue.isPositive(idleTime) ? idleTime.toMillis() : 0); enumAvailable(new Callback<PoolEntry<T, C>>() { @Override public void execute(final PoolEntry<T, C> entry) { if (entry.getUpdated() <= deadline) { entry.discardConnection(CloseMode.GRACEFUL); } } }); }
@Override public void closeIdle(final TimeValue idleTime) { final long deadline = System.currentTimeMillis() - (TimeValue.isPositive(idleTime) ? idleTime.toMillis() : 0); enumAvailable(new Callback<PoolEntry<T, C>>() { @Override public void execute(final PoolEntry<T, C> entry) { if (entry.getUpdated() <= deadline) { entry.discardConnection(CloseMode.GRACEFUL); } } }); }
public final void closeIdle(final TimeValue idleTime) { final long deadline = System.currentTimeMillis() - (TimeValue.isPositive(idleTime) ? idleTime.toMillis() : 0); for (final PoolEntry poolEntry: sessionPool.values()) { if (poolEntry.session != null) { synchronized (poolEntry) { if (poolEntry.session != null && poolEntry.session.getLastReadTime() <= deadline) { closeSession(poolEntry.session, CloseMode.GRACEFUL); poolEntry.session = null; } } } } }
public final void closeIdle(final TimeValue idleTime) { final long deadline = System.currentTimeMillis() - (TimeValue.isPositive(idleTime) ? idleTime.toMillis() : 0); for (final PoolEntry poolEntry: sessionPool.values()) { if (poolEntry.session != null) { synchronized (poolEntry) { if (poolEntry.session != null && poolEntry.session.getLastReadTime() <= deadline) { closeSession(poolEntry.session, CloseMode.GRACEFUL); poolEntry.session = null; } } } } }
/** * Calculates a deadline with a given time in milliseconds plus a given time value. Non-positive time values * represent an indefinite timeout without a deadline. * * @param timeMillis A time in UNIX milliseconds, usually the current time. * @param timeValue time value to add to {@code timeMillis}. * @return a deadline representing the current time plus the given time value. */ public static Deadline calculate(final long timeMillis, final TimeValue timeValue) { if (TimeValue.isPositive(timeValue)) { // TODO handle unlikely overflow final long deadline = timeMillis + timeValue.toMillis(); return deadline < 0 ? Deadline.MAX_VALUE : Deadline.fromUnixMillis(deadline); } return Deadline.MAX_VALUE; }
/** * Calculates a deadline with a given time in milliseconds plus a given time value. Non-positive time values * represent an indefinite timeout without a deadline. * * @param timeMillis A time in UNIX milliseconds, usually the current time. * @param timeValue time value to add to {@code timeMillis}. * @return a deadline representing the current time plus the given time value. */ public static Deadline calculate(final long timeMillis, final TimeValue timeValue) { if (TimeValue.isPositive(timeValue)) { // TODO handle unlikely overflow final long deadline = timeMillis + timeValue.toMillis(); return deadline < 0 ? Deadline.MAX_VALUE : Deadline.fromUnixMillis(deadline); } return Deadline.MAX_VALUE; }
@Override public Socket connectSocket( final TimeValue connectTimeout, final Socket socket, final HttpHost host, final InetSocketAddress remoteAddress, final InetSocketAddress localAddress, final HttpContext context) throws IOException { final Socket sock = socket != null ? socket : createSocket(context); if (localAddress != null) { sock.bind(localAddress); } try { sock.connect(remoteAddress, TimeValue.isPositive(connectTimeout) ? connectTimeout.toMillisIntBound() : 0); } catch (final IOException ex) { Closer.closeQuietly(sock); throw ex; } return sock; }
this.state = state; conn.passivate(); if (TimeValue.isPositive(keepAlive)) { if (this.log.isDebugEnabled()) { this.log.debug("Connection can be kept alive for " + keepAlive);
if (TimeValue.isPositive(connectTimeout) && sock.getSoTimeout() == 0) { sock.setSoTimeout(connectTimeout.toMillisIntBound());
@Override public void upgradeTls(final HttpClientContext context) { final AsyncConnectionEndpoint endpoint = ensureValid(); final RequestConfig requestConfig = context.getRequestConfig(); final Timeout connectTimeout = requestConfig.getConnectTimeout(); if (TimeValue.isPositive(connectTimeout)) { endpoint.setSocketTimeout(connectTimeout); } manager.upgrade(endpoint, versionPolicy, context); }
@Override public void upgradeTls(final HttpClientContext context) throws IOException { final ConnectionEndpoint endpoint = ensureValid(); final RequestConfig requestConfig = context.getRequestConfig(); final Timeout timeout = requestConfig.getConnectTimeout(); if (TimeValue.isPositive(timeout)) { endpoint.setSocketTimeout(timeout); } manager.upgrade(endpoint, context); }
if (TimeValue.isPositive(validateAfterInactivity)) { final ManagedHttpClientConnection conn = poolEntry.getConnection(); if (conn != null
@Override protected void validateSession( final IOSession ioSession, final Callback<Boolean> callback) { final TimeValue timeValue = validateAfterInactivity; if (TimeValue.isPositive(timeValue)) { final long lastAccessTime = Math.min(ioSession.getLastReadTime(), ioSession.getLastWriteTime()); final long deadline = lastAccessTime + timeValue.toMillis(); if (deadline <= System.currentTimeMillis()) { final Timeout socketTimeoutMillis = ioSession.getSocketTimeout(); ioSession.enqueue(new PingCommand(new BasicPingHandler(new Callback<Boolean>() { @Override public void execute(final Boolean result) { ioSession.setSocketTimeout(socketTimeoutMillis); callback.execute(result); } })), Command.Priority.NORMAL); return; } } callback.execute(true); }
if (log.isDebugEnabled()) { final String s; if (TimeValue.isPositive(keepAlive)) { s = "for " + keepAlive; } else {
if (this.log.isDebugEnabled()) { final String s; if (TimeValue.isPositive(keepAlive)) { s = "for " + keepAlive; } else {
final ManagedAsyncClientConnection connection = poolEntry.getConnection(); final TimeValue timeValue = PoolingAsyncClientConnectionManager.this.validateAfterInactivity; if (TimeValue.isPositive(timeValue) && connection != null && poolEntry.getUpdated() + timeValue.toMillis() <= System.currentTimeMillis()) { final ProtocolVersion protocolVersion = connection.getProtocolVersion();