/** * The amount of time to wait when initially establishing a connection before giving up and timing out. * * @param timeout the timeout duration * @return this builder for method chaining. */ @Override public Builder connectionTimeout(Duration timeout) { Validate.isPositive(timeout, "connectionTimeout"); standardOptions.put(CONNECTION_TIMEOUT, timeout); return this; }
@Override protected final AttributeMap serviceHttpConfig() { AttributeMap result = AttributeMap.empty(); return result.merge(AttributeMap.builder().put(SdkHttpConfigurationOption.PROTOCOL, Protocol.HTTP2).build()); } }
/** * The amount of time to wait when acquiring a connection from the pool before giving up and timing out. * @param connectionAcquisitionTimeout the timeout duration * @return this builder for method chaining. */ @Override public Builder connectionAcquisitionTimeout(Duration connectionAcquisitionTimeout) { Validate.isPositive(connectionAcquisitionTimeout, "connectionAcquisitionTimeout"); standardOptions.put(CONNECTION_ACQUIRE_TIMEOUT, connectionAcquisitionTimeout); return this; }
@Override public Builder socketTimeout(Duration socketTimeout) { standardOptions.put(READ_TIMEOUT, socketTimeout); return this; }
@Override public Builder protocol(Protocol protocol) { standardOptions.put(SdkHttpConfigurationOption.PROTOCOL, protocol); return this; }
/** * The amount of time to wait when acquiring a connection from the pool before giving up and timing out. * @param connectionAcquisitionTimeout the timeout duration * @return this builder for method chaining. */ @Override public Builder connectionAcquisitionTimeout(Duration connectionAcquisitionTimeout) { Validate.isPositive(connectionAcquisitionTimeout, "connectionAcquisitionTimeout"); standardOptions.put(CONNECTION_ACQUIRE_TIMEOUT, connectionAcquisitionTimeout); return this; }
/** * Max allowed connections per endpoint allowed in the connection pool. * * @param maxConcurrency New value for max connections per endpoint. * @return This builder for method chaining. */ @Override public Builder maxConcurrency(Integer maxConcurrency) { standardOptions.put(MAX_CONNECTIONS, maxConcurrency); return this; }
/** * Sets the read timeout to a specified timeout. A timeout of zero is interpreted as an infinite timeout. * * @param socketTimeout the timeout as a {@link Duration} * @return this object for method chaining */ @Override public Builder socketTimeout(Duration socketTimeout) { standardOptions.put(READ_TIMEOUT, socketTimeout); return this; }
@Override public Builder connectionTimeout(Duration connectionTimeout) { standardOptions.put(CONNECTION_TIMEOUT, connectionTimeout); return this; }
@Override protected final AttributeMap serviceHttpConfig() { AttributeMap result = DefaultHttpConfigurationOptions.defaultHttpConfig(); return result.merge(AttributeMap.builder().put(SdkHttpConfigurationOption.PROTOCOL, Protocol.HTTP2).build()); } }
@Override public Builder useIdleConnectionReaper(Boolean useIdleConnectionReaper) { standardOptions.put(REAP_IDLE_CONNECTIONS, useIdleConnectionReaper); return this; }
@Override public Builder maxConcurrency(Integer maxConcurrency) { standardOptions.put(MAX_CONNECTIONS, maxConcurrency); return this; }
/** * Adds additional unmodeled metadata to the {@link OperationInfo}. Useful for communicating protocol * specific operation metadata. * * @param key Key to register metadata. * @param value Value of metadata. * @param <T> Type of metadata being registered. * @return This builder for method chaining. */ public <T> Builder putAdditionalMetadata(OperationMetadataAttribute<T> key, T value) { additionalMetadata.put(key, value); return this; }
/** * Adds additional unmodeled metadata to the {@link OperationInfo}. Useful for communicating protocol * specific operation metadata. * * @param key Key to register metadata. * @param value Value of metadata. * @param <T> Type of metadata being registered. * @return This builder for method chaining. */ public <T> Builder putAdditionalMetadata(OperationMetadataAttribute<T> key, T value) { additionalMetadata.put(key, value); return this; }
/** * The amount of time to wait for a write on a socket before an exception is thrown. * * @param writeTimeout timeout duration * @return this builder for method chaining. */ @Override public Builder writeTimeout(Duration writeTimeout) { Validate.isPositive(writeTimeout, "writeTimeout"); standardOptions.put(WRITE_TIMEOUT, writeTimeout); return this; }
/** * Sets the connect timeout to a specified timeout. A timeout of zero is interpreted as an infinite timeout. * * @param connectionTimeout the timeout as a {@link Duration} * @return this object for method chaining */ @Override public Builder connectionTimeout(Duration connectionTimeout) { standardOptions.put(CONNECTION_TIMEOUT, connectionTimeout); return this; }
/** * The amount of time to wait for a read on a socket before an exception is thrown. * * @param readTimeout timeout duration * @return this builder for method chaining. */ @Override public Builder readTimeout(Duration readTimeout) { Validate.isPositive(readTimeout, "readTimeout"); standardOptions.put(READ_TIMEOUT, readTimeout); return this; }
/** * The maximum number of pending acquires allowed. Once this exceeds, acquire tries will be failed. * * @param maxPendingAcquires Max number of pending acquires * @return This builder for method chaining. */ @Override public Builder maxPendingConnectionAcquires(Integer maxPendingAcquires) { standardOptions.put(MAX_PENDING_CONNECTION_ACQUIRES, maxPendingAcquires); return this; }
@Override public Builder maxConnections(Integer maxConnections) { standardOptions.put(MAX_CONNECTIONS, maxConnections); return this; }
@Override public Builder connectionTimeout(Duration timeout) { Validate.isPositive(timeout, "connectionTimeout"); standardOptions.put(CONNECTION_TIMEOUT, timeout); return this; }