Struct conjure_runtime::Builder
source · [−]pub struct Builder<T = DefaultRawClientBuilder> { /* private fields */ }Expand description
A builder to construct Clients and blocking::Clients.
Implementations
sourceimpl<T> Builder<T>
impl<T> Builder<T>
sourcepub fn from_config(&mut self, config: &ServiceConfig) -> &mut Self
pub fn from_config(&mut self, config: &ServiceConfig) -> &mut Self
Applies configuration settings from a ServiceConfig to the builder.
sourcepub fn service(&mut self, service: &str) -> &mut Self
pub fn service(&mut self, service: &str) -> &mut Self
Sets the name of the service this client will communicate with.
This is used in logging and metrics to allow differentiation between different clients.
Required.
sourcepub fn get_service(&self) -> Option<&str>
pub fn get_service(&self) -> Option<&str>
Returns the builder’s configured service name.
sourcepub fn user_agent(&mut self, user_agent: UserAgent) -> &mut Self
pub fn user_agent(&mut self, user_agent: UserAgent) -> &mut Self
Sets the user agent sent by this client.
Required.
sourcepub fn get_user_agent(&self) -> Option<&UserAgent>
pub fn get_user_agent(&self) -> Option<&UserAgent>
Returns the builder’s configured user agent.
sourcepub fn uri(&mut self, uri: Url) -> &mut Self
pub fn uri(&mut self, uri: Url) -> &mut Self
Appends a URI to the URIs list.
Defaults to an empty list.
sourcepub fn uris(&mut self, uris: Vec<Url>) -> &mut Self
pub fn uris(&mut self, uris: Vec<Url>) -> &mut Self
Sets the URIs list.
Defaults to an empty list.
sourcepub fn security(&mut self, security: SecurityConfig) -> &mut Self
pub fn security(&mut self, security: SecurityConfig) -> &mut Self
Sets the security configuration.
Defaults to an empty configuration.
sourcepub fn get_security(&self) -> &SecurityConfig
pub fn get_security(&self) -> &SecurityConfig
Returns the builder’s configured security configuration.
sourcepub fn proxy(&mut self, proxy: ProxyConfig) -> &mut Self
pub fn proxy(&mut self, proxy: ProxyConfig) -> &mut Self
Sets the proxy configuration.
Defaults to ProxyConfig::Direct (i.e. no proxy).
sourcepub fn get_proxy(&self) -> &ProxyConfig
pub fn get_proxy(&self) -> &ProxyConfig
Returns the builder’s configured proxy configuration.
sourcepub fn connect_timeout(&mut self, connect_timeout: Duration) -> &mut Self
pub fn connect_timeout(&mut self, connect_timeout: Duration) -> &mut Self
Sets the connect timeout.
Defaults to 10 seconds.
sourcepub fn get_connect_timeout(&self) -> Duration
pub fn get_connect_timeout(&self) -> Duration
Returns the builder’s configured connect timeout.
sourcepub fn read_timeout(&mut self, read_timeout: Duration) -> &mut Self
pub fn read_timeout(&mut self, read_timeout: Duration) -> &mut Self
Sets the read timeout.
This timeout applies to socket-level read attempts.
Defaults to 5 minutes.
sourcepub fn get_read_timeout(&self) -> Duration
pub fn get_read_timeout(&self) -> Duration
Returns the builder’s configured read timeout.
sourcepub fn write_timeout(&mut self, write_timeout: Duration) -> &mut Self
pub fn write_timeout(&mut self, write_timeout: Duration) -> &mut Self
Sets the write timeout.
This timeout applies to socket-level write attempts.
Defaults to 5 minutes.
sourcepub fn get_write_timeout(&self) -> Duration
pub fn get_write_timeout(&self) -> Duration
Returns the builder’s configured write timeout.
sourcepub fn backoff_slot_size(&mut self, backoff_slot_size: Duration) -> &mut Self
pub fn backoff_slot_size(&mut self, backoff_slot_size: Duration) -> &mut Self
Sets the backoff slot size.
This is the upper bound on the initial delay before retrying a request. It grows exponentially as additional attempts are made for a given request.
Defaults to 250 milliseconds.
sourcepub fn get_backoff_slot_size(&self) -> Duration
pub fn get_backoff_slot_size(&self) -> Duration
Returns the builder’s configured backoff slot size.
sourcepub fn max_num_retries(&mut self, max_num_retries: u32) -> &mut Self
pub fn max_num_retries(&mut self, max_num_retries: u32) -> &mut Self
Sets the maximum number of times a request attempt will be retried before giving up.
Defaults to 4.
sourcepub fn get_max_num_retries(&self) -> u32
pub fn get_max_num_retries(&self) -> u32
Returns the builder’s configured maximum number of retries.
sourcepub fn client_qos(&mut self, client_qos: ClientQos) -> &mut Self
pub fn client_qos(&mut self, client_qos: ClientQos) -> &mut Self
Sets the client’s internal rate limiting behavior.
Defaults to ClientQos::Enabled.
sourcepub fn get_client_qos(&self) -> ClientQos
pub fn get_client_qos(&self) -> ClientQos
Returns the builder’s configured internal rate limiting behavior.
sourcepub fn server_qos(&mut self, server_qos: ServerQos) -> &mut Self
pub fn server_qos(&mut self, server_qos: ServerQos) -> &mut Self
Sets the client’s behavior in response to a QoS error from the server.
Defaults to ServerQos::AutomaticRetry.
sourcepub fn get_server_qos(&self) -> ServerQos
pub fn get_server_qos(&self) -> ServerQos
Returns the builder’s configured server QoS behavior.
sourcepub fn service_error(&mut self, service_error: ServiceError) -> &mut Self
pub fn service_error(&mut self, service_error: ServiceError) -> &mut Self
Sets the client’s behavior in response to a service error from the server.
Defaults to ServiceError::WrapInNewError.
sourcepub fn get_service_error(&self) -> ServiceError
pub fn get_service_error(&self) -> ServiceError
Returns the builder’s configured service error handling behavior.
sourcepub fn idempotency(&mut self, idempotency: Idempotency) -> &mut Self
pub fn idempotency(&mut self, idempotency: Idempotency) -> &mut Self
Sets the client’s behavior to determine if a request is idempotent or not.
Only idempotent requests will be retried.
Defaults to Idempotency::ByMethod.
sourcepub fn get_idempotency(&self) -> Idempotency
pub fn get_idempotency(&self) -> Idempotency
Returns the builder’s configured idempotency handling behavior.
sourcepub fn node_selection_strategy(
&mut self,
node_selection_strategy: NodeSelectionStrategy
) -> &mut Self
pub fn node_selection_strategy(
&mut self,
node_selection_strategy: NodeSelectionStrategy
) -> &mut Self
Sets the client’s strategy for selecting a node for a request.
Defaults to NodeSelectionStrategy::PinUntilError.
sourcepub fn get_node_selection_strategy(&self) -> NodeSelectionStrategy
pub fn get_node_selection_strategy(&self) -> NodeSelectionStrategy
Returns the builder’s configured node selection strategy.
sourcepub fn metrics(&mut self, metrics: Arc<MetricRegistry>) -> &mut Self
pub fn metrics(&mut self, metrics: Arc<MetricRegistry>) -> &mut Self
Sets the metric registry used to register client metrics.
Defaults to no registry.
sourcepub fn get_metrics(&self) -> Option<&Arc<MetricRegistry>>
pub fn get_metrics(&self) -> Option<&Arc<MetricRegistry>>
Returns the builder’s configured metric registry.
sourcepub fn host_metrics(
&mut self,
host_metrics: Arc<HostMetricsRegistry>
) -> &mut Self
pub fn host_metrics(
&mut self,
host_metrics: Arc<HostMetricsRegistry>
) -> &mut Self
Sets the host metrics registry used to track host performance.
Defaults to no registry.
sourcepub fn get_host_metrics(&self) -> Option<&Arc<HostMetricsRegistry>>
pub fn get_host_metrics(&self) -> Option<&Arc<HostMetricsRegistry>>
Returns the builder’s configured host metrics registry.
sourcepub fn rng_seed(&mut self, rng_seed: u64) -> &mut Self
pub fn rng_seed(&mut self, rng_seed: u64) -> &mut Self
Sets a seed used to initialize the client’s random number generators.
Several components of the client rely on entropy. If set, the client will use the seed to initialize its internal random number generators such that clients created with the same configuration will produce the same behavior.
Defaults to no seed.
sourcepub fn get_rng_seed(&self) -> Option<u64>
pub fn get_rng_seed(&self) -> Option<u64>
Returns the builder’s configured RNG seed.
sourcepub fn blocking_handle(&mut self, blocking_handle: Handle) -> &mut Self
pub fn blocking_handle(&mut self, blocking_handle: Handle) -> &mut Self
Returns the Handle to the tokio Runtime to be used by blocking clients.
This has no effect on async clients.
Defaults to a conjure-runtime internal Runtime.
sourcepub fn get_blocking_handle(&self) -> Option<&Handle>
pub fn get_blocking_handle(&self) -> Option<&Handle>
Returns the builder’s configured blocking handle.
sourcepub fn with_raw_client_builder<U>(self, raw_client_builder: U) -> Builder<U>
pub fn with_raw_client_builder<U>(self, raw_client_builder: U) -> Builder<U>
Sets the raw client builder.
Defaults to DefaultRawClientBuilder.
sourcepub fn get_raw_client_builder(&self) -> &T
pub fn get_raw_client_builder(&self) -> &T
Returns the builder’s configured raw client builder.