/** * @param connectionFuture Future for parent socket channel. * @param maxConcurrencyPerConnection Max streams allowed per connection. * @param channelReleaser Method to release a channel and record on failure. */ MultiplexedChannelRecord(Future<Channel> connectionFuture, long maxConcurrencyPerConnection, BiConsumer<Channel, MultiplexedChannelRecord> channelReleaser) { this.connectionFuture = connectionFuture; this.availableStreams = new AtomicLong(maxConcurrencyPerConnection); this.childChannels = new ConcurrentHashMap<>(saturatedCast(maxConcurrencyPerConnection)); this.channelReleaser = channelReleaser; }
/** * @param connectionFuture Future for parent socket channel. * @param maxConcurrencyPerConnection Max streams allowed per connection. * @param channelReleaser Method to release a channel and record on failure. */ MultiplexedChannelRecord(Future<Channel> connectionFuture, long maxConcurrencyPerConnection, BiConsumer<Channel, MultiplexedChannelRecord> channelReleaser) { this.connectionFuture = connectionFuture; this.availableStreams = new AtomicLong(maxConcurrencyPerConnection); this.childChannels = new ConcurrentHashMap<>(saturatedCast(maxConcurrencyPerConnection)); this.channelReleaser = channelReleaser; }
@SdkTestInternalApi MultiplexedChannelRecord(Future<Channel> connectionFuture, Channel connection, long maxConcurrencyPerConnection, BiConsumer<Channel, MultiplexedChannelRecord> channelReleaser) { this.connectionFuture = connectionFuture; this.childChannels = new ConcurrentHashMap<>(saturatedCast(maxConcurrencyPerConnection)); this.availableStreams = new AtomicLong(maxConcurrencyPerConnection); this.channelReleaser = channelReleaser; this.connection = connection; }
public int writeTimeoutMillis() { return saturatedCast(configuration.get(SdkHttpConfigurationOption.WRITE_TIMEOUT).toMillis()); } }
public int connectTimeoutMillis() { return saturatedCast(configuration.get(CONNECTION_TIMEOUT).toMillis()); }
@SdkTestInternalApi MultiplexedChannelRecord(Future<Channel> connectionFuture, Channel connection, long maxConcurrencyPerConnection, BiConsumer<Channel, MultiplexedChannelRecord> channelReleaser) { this.connectionFuture = connectionFuture; this.childChannels = new ConcurrentHashMap<>(saturatedCast(maxConcurrencyPerConnection)); this.availableStreams = new AtomicLong(maxConcurrencyPerConnection); this.channelReleaser = channelReleaser; this.connection = connection; }
private HttpURLConnection createDefaultConnection(URI uri) { HttpURLConnection connection = invokeSafely(() -> (HttpURLConnection) uri.toURL().openConnection()); connection.setConnectTimeout(saturatedCast(options.get(CONNECTION_TIMEOUT).toMillis())); connection.setReadTimeout(saturatedCast(options.get(READ_TIMEOUT).toMillis())); return connection; }
public int connectionAcquireTimeoutMillis() { return saturatedCast(configuration.get(CONNECTION_ACQUIRE_TIMEOUT).toMillis()); }
public int readTimeoutMillis() { return saturatedCast(configuration.get(SdkHttpConfigurationOption.READ_TIMEOUT).toMillis()); }
public int connectTimeoutMillis() { return saturatedCast(configuration.get(CONNECTION_TIMEOUT).toMillis()); }
public int connectionAcquireTimeoutMillis() { return saturatedCast(configuration.get(CONNECTION_ACQUIRE_TIMEOUT).toMillis()); }
public int readTimeoutMillis() { return saturatedCast(configuration.get(SdkHttpConfigurationOption.READ_TIMEOUT).toMillis()); }
public int writeTimeoutMillis() { return saturatedCast(configuration.get(SdkHttpConfigurationOption.WRITE_TIMEOUT).toMillis()); }
public int idleTimeoutMillis() { return saturatedCast(configuration.get(SdkHttpConfigurationOption.CONNECTION_MAX_IDLE_TIMEOUT).toMillis()); }
public int connectionTtlMillis() { return saturatedCast(configuration.get(SdkHttpConfigurationOption.CONNECTION_TIME_TO_LIVE).toMillis()); }
private void addRequestConfig(final HttpRequestBase base, final SdkHttpRequest request, final ApacheHttpRequestConfig requestConfig) { int connectTimeout = saturatedCast(requestConfig.connectionTimeout().toMillis()); int connectAcquireTimeout = saturatedCast(requestConfig.connectionAcquireTimeout().toMillis()); RequestConfig.Builder requestConfigBuilder = RequestConfig .custom() .setConnectionRequestTimeout(connectAcquireTimeout) .setConnectTimeout(connectTimeout) .setSocketTimeout(saturatedCast(requestConfig.socketTimeout().toMillis())) .setLocalAddress(requestConfig.localAddress()); /* * Enable 100-continue support for PUT operations, since this is * where we're potentially uploading large amounts of data and want * to find out as early as possible if an operation will fail. We * don't want to do this for all operations since it will cause * extra latency in the network interaction. */ if (SdkHttpMethod.PUT == request.method() && requestConfig.expectContinueEnabled()) { requestConfigBuilder.setExpectContinueEnabled(true); } base.setConfig(requestConfigBuilder.build()); }
private void addRequestConfig(final HttpRequestBase base, final SdkHttpFullRequest request, final ApacheHttpRequestConfig requestConfig) { final int connectTimeout = saturatedCast(requestConfig.connectionTimeout().toMillis()); final RequestConfig.Builder requestConfigBuilder = RequestConfig .custom() .setConnectionRequestTimeout(connectTimeout) .setConnectTimeout(connectTimeout) .setSocketTimeout(saturatedCast(requestConfig.socketTimeout().toMillis())) .setLocalAddress(requestConfig.localAddress()); /* * Enable 100-continue support for PUT operations, since this is * where we're potentially uploading large amounts of data and want * to find out as early as possible if an operation will fail. We * don't want to do this for all operations since it will cause * extra latency in the network interaction. */ if (SdkHttpMethod.PUT == request.getHttpMethod() && requestConfig.expectContinueEnabled()) { requestConfigBuilder.setExpectContinueEnabled(true); } base.setConfig(requestConfigBuilder.build()); }
private SocketConfig buildSocketConfig(AttributeMap standardOptions) { return SocketConfig.custom() // TODO do we want to keep SO keep alive .setSoKeepAlive(false) .setSoTimeout( saturatedCast(standardOptions.get(SdkHttpConfigurationOption.READ_TIMEOUT) .toMillis())) .setTcpNoDelay(true) .build(); }
private SocketConfig buildSocketConfig(AttributeMap standardOptions) { return SocketConfig.custom() // TODO do we want to keep SO keep alive .setSoKeepAlive(false) .setSoTimeout( saturatedCast(standardOptions.get(SdkHttpConfigurationOption.SOCKET_TIMEOUT).toMillis())) .setTcpNoDelay(true) .build(); }