@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; }
sock.setSoTimeout(connectTimeout.toMillisIntBound()); sock.connect(remoteAddress, connectTimeout != null ? connectTimeout.toMillisIntBound() : 0); } catch (final IOException ex) { Closer.closeQuietly(sock);
private Socket createSocket(final HttpHost targetHost) throws IOException { final Socket sock = new Socket(); sock.setSoTimeout(socketConfig.getSoTimeout().toMillisIntBound()); sock.setReuseAddress(socketConfig.isSoReuseAddress()); sock.setTcpNoDelay(socketConfig.isTcpNoDelay()); sock.setKeepAlive(socketConfig.isSoKeepAlive()); if (socketConfig.getRcvBufSize() > 0) { sock.setReceiveBufferSize(socketConfig.getRcvBufSize()); } if (socketConfig.getSndBufSize() > 0) { sock.setSendBufferSize(socketConfig.getSndBufSize()); } final int linger = socketConfig.getSoLinger().toMillisIntBound(); if (linger >= 0) { sock.setSoLinger(true, linger); } final InetSocketAddress targetAddress = addressResolver.resolve(targetHost); sock.connect(targetAddress, socketConfig.getSoTimeout().toMillisIntBound()); if (URIScheme.HTTPS.same(targetHost.getSchemeName())) { return sslSocketFactory.createSocket(sock, targetHost.getHostName(), targetAddress.getPort(), true); } return sock; }
private Socket createSocket(final HttpHost targetHost) throws IOException { final Socket sock = new Socket(); sock.setSoTimeout(socketConfig.getSoTimeout().toMillisIntBound()); sock.setReuseAddress(socketConfig.isSoReuseAddress()); sock.setTcpNoDelay(socketConfig.isTcpNoDelay()); sock.setKeepAlive(socketConfig.isSoKeepAlive()); if (socketConfig.getRcvBufSize() > 0) { sock.setReceiveBufferSize(socketConfig.getRcvBufSize()); } if (socketConfig.getSndBufSize() > 0) { sock.setSendBufferSize(socketConfig.getSndBufSize()); } final int linger = socketConfig.getSoLinger().toMillisIntBound(); if (linger >= 0) { sock.setSoLinger(true, linger); } final InetSocketAddress targetAddress = addressResolver.resolve(targetHost); sock.connect(targetAddress, socketConfig.getSoTimeout().toMillisIntBound()); if (URIScheme.HTTPS.same(targetHost.getSchemeName())) { return sslSocketFactory.createSocket(sock, targetHost.getHostName(), targetAddress.getPort(), true); } return sock; }
final int linger = socketConfig.getSoLinger().toMillisIntBound(); if (linger >= 0) { sock.setSoLinger(true, linger);
@Test public void testDivide() { // nominator is 0, result should be 0. Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toDays()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toHours()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toMicros()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toMillis()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toMinutes()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toNanos()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toSeconds()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toMillisIntBound()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toSecondsIntBound()); // Assert.assertEquals(50, TimeValue.ofMilliseconds(100).divide(2).toMillis()); Assert.assertEquals(0, TimeValue.ofMinutes(1).divide(2).toSeconds()); Assert.assertEquals(30, TimeValue.ofMinutes(1).divide(2, TimeUnit.SECONDS).toSeconds()); Assert.assertEquals(30000, TimeValue.ofMinutes(1).divide(2, TimeUnit.MILLISECONDS).toMillis()); }