#[non_exhaustive]pub struct ConnectionOptions {Show 17 fields
pub target: Url,
pub identity: String,
pub metrics_meter: Option<TemporalMeter>,
pub tls_options: Option<TlsOptions>,
pub override_origin: Option<Uri>,
pub api_key: Option<String>,
pub connect_timeout: Option<Duration>,
pub retry_options: RetryOptions,
pub keep_alive: Option<ClientKeepAliveOptions>,
pub headers: Option<HashMap<String, String>>,
pub binary_headers: Option<HashMap<String, Vec<u8>>>,
pub http_connect_proxy: Option<HttpConnectProxyOptions>,
pub dns_load_balancing: Option<DnsLoadBalancingOptions>,
pub disable_error_code_metric_tags: bool,
pub service_override: Option<CallbackBasedGrpcService>,
pub grpc_compression: GrpcCompression,
pub payload_limits: PayloadLimitsOptions,
/* private fields */
}Expand description
Options for crate::Connection::connect.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.target: UrlThe server to connect to.
identity: StringA human-readable string that can identify this process. Defaults to empty string.
metrics_meter: Option<TemporalMeter>When set, this client will record metrics using the provided meter. The meter can be obtained from temporalio_common::telemetry::TelemetryInstance::get_temporal_metric_meter.
tls_options: Option<TlsOptions>If specified, use TLS as configured by the TlsOptions struct. If this is set core will attempt to use TLS when connecting to the Temporal server. Lang SDK is expected to pass any certs or keys as bytes, loading them from disk itself if needed.
override_origin: Option<Uri>If set, override the origin used when connecting. May be useful in rare situations where tls
verification needs to use a different name from what should be set as the :authority
header. If TlsOptions::domain is set, and this is not, this will be set to
https://<domain>, effectively making the :authority header consistent with the domain
override.
api_key: Option<String>An API key to use for auth. If set, TLS will be enabled by default, but without any mTLS specific settings.
connect_timeout: Option<Duration>When set, limits the time allowed to establish the initial TCP/TLS connection to the
server. If the connection cannot be established within this duration, connect will
return an error. When None (the default), no explicit timeout is applied and the
connection attempt may block indefinitely (subject to OS-level TCP timeouts).
retry_options: RetryOptionsRetry configuration for the server client. Default is RetryOptions::default
keep_alive: Option<ClientKeepAliveOptions>If set, HTTP2 gRPC keep alive will be enabled.
To enable with default settings, use .keep_alive(Some(ClientKeepAliveConfig::default())).
headers: Option<HashMap<String, String>>HTTP headers to include on every RPC call.
These must be valid gRPC metadata keys, and must not be binary metadata keys (ending in `-bin). To set binary headers, use ConnectionOptions::binary_headers. Invalid header keys or values will cause an error to be returned when connecting.
binary_headers: Option<HashMap<String, Vec<u8>>>HTTP headers to include on every RPC call as binary gRPC metadata (encoded as base64).
These must be valid binary gRPC metadata keys (and end with a -bin suffix). Invalid
header keys will cause an error to be returned when connecting.
http_connect_proxy: Option<HttpConnectProxyOptions>HTTP CONNECT proxy to use for this client.
dns_load_balancing: Option<DnsLoadBalancingOptions>If set, DNS-based load balancing is enabled. When the target is a hostname (not an IP
literal), DNS is resolved to all addresses and requests are distributed across them.
Incompatible with service_override and http_connect_proxy. Setting either in addition
to this field is an error. Set to None to disable.
If set true, error code labels will not be included on request failure metrics.
service_override: Option<CallbackBasedGrpcService>If set, all gRPC calls will be routed through the provided service.
grpc_compression: GrpcCompressionControls transport-level gRPC compression for the client. Defaults to
GrpcCompression::Gzip, which compresses outbound request bodies and accepts
compressed responses. Set to GrpcCompression::None to opt out.
If service_override is specified, is forced to None.
payload_limits: PayloadLimitsOptionsPayload size limit options for this connection. Defaults to the standard warning thresholds;
disable an individual warning by setting its threshold to 0.
NOTE: Experimental
Implementations§
Source§impl ConnectionOptions
impl ConnectionOptions
Sourcepub fn new(target: impl Into<Url>) -> ConnectionOptionsBuilder
pub fn new(target: impl Into<Url>) -> ConnectionOptionsBuilder
Create an instance of ConnectionOptions using the builder syntax
Trait Implementations§
Source§impl Clone for ConnectionOptions
impl Clone for ConnectionOptions
Source§fn clone(&self) -> ConnectionOptions
fn clone(&self) -> ConnectionOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ConnectionOptions
impl Debug for ConnectionOptions
Source§impl TryFrom<ClientConfigProfile> for ConnectionOptions
impl TryFrom<ClientConfigProfile> for ConnectionOptions
Source§type Error = ConfigError
type Error = ConfigError
Auto Trait Implementations§
impl !Freeze for ConnectionOptions
impl !RefUnwindSafe for ConnectionOptions
impl !UnwindSafe for ConnectionOptions
impl Send for ConnectionOptions
impl Sync for ConnectionOptions
impl Unpin for ConnectionOptions
impl UnsafeUnpin for ConnectionOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request