ClientOptions

Struct ClientOptions 

Source
#[non_exhaustive]
pub struct ClientOptions {
Show 14 fields pub target_url: Url, pub client_name: String, pub client_version: String, pub identity: String, pub tls_cfg: Option<TlsConfig>, pub retry_config: RetryConfig, pub override_origin: Option<Uri>, pub keep_alive: Option<ClientKeepAliveConfig>, pub headers: Option<HashMap<String, String>>, pub binary_headers: Option<HashMap<String, Vec<u8>>>, pub api_key: Option<String>, pub http_connect_proxy: Option<HttpConnectProxyOptions>, pub disable_error_code_metric_tags: bool, pub skip_get_system_info: bool,
}
Expand description

Options for the connection to the temporal server. Construct with ClientOptionsBuilder

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§target_url: Url

The URL of the Temporal server to connect to

§client_name: String

The name of the SDK being implemented on top of core. Is set as client-name header in all RPC calls

§client_version: String

The version of the SDK being implemented on top of core. Is set as client-version header in all RPC calls. The server decides if the client is supported based on this.

§identity: String

A human-readable string that can identify this process. Defaults to empty string.

§tls_cfg: Option<TlsConfig>

If specified, use TLS as configured by the TlsConfig 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.

§retry_config: RetryConfig

Retry configuration for the server client. Default is RetryConfig::default

§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 TlsConfig::domain is set, and this is not, this will be set to https://<domain>, effectively making the :authority header consistent with the domain override.

§keep_alive: Option<ClientKeepAliveConfig>

If set (which it is by default), HTTP2 gRPC keep alive will be enabled.

§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 ClientOptions::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.

§api_key: Option<String>

API key which is set as the “Authorization” header with “Bearer “ prepended. This will only be applied if the headers don’t already have an “Authorization” header.

§http_connect_proxy: Option<HttpConnectProxyOptions>

HTTP CONNECT proxy to use for this client.

§disable_error_code_metric_tags: bool

If set true, error code labels will not be included on request failure metrics.

§skip_get_system_info: bool

If set true, get_system_info will not be called upon connection

Implementations§

Source§

impl ClientOptions

Source

pub async fn connect( &self, namespace: impl Into<String>, metrics_meter: Option<TemporalMeter>, ) -> Result<RetryClient<Client>, ClientInitError>

Attempt to establish a connection to the Temporal server in a specific namespace. The returned client is bound to that namespace.

Source

pub async fn connect_no_namespace( &self, metrics_meter: Option<TemporalMeter>, ) -> Result<RetryClient<ConfiguredClient<TemporalServiceClient<InterceptedService<GrpcMetricSvc, ServiceCallInterceptor>>>>, ClientInitError>

Attempt to establish a connection to the Temporal server and return a gRPC client which is intercepted with retry, default headers functionality, and metrics if provided.

See RetryClient for more

Source

pub async fn connect_no_namespace_with_service_override( &self, metrics_meter: Option<TemporalMeter>, service_override: Option<CallbackBasedGrpcService>, ) -> Result<RetryClient<ConfiguredClient<TemporalServiceClient<InterceptedService<GrpcMetricSvc, ServiceCallInterceptor>>>>, ClientInitError>

Attempt to establish a connection to the Temporal server and return a gRPC client which is intercepted with retry, default headers functionality, and metrics if provided. If a service_override is present, network-specific options are ignored and the callback is invoked for each gRPC call.

See RetryClient for more

Trait Implementations§

Source§

impl Clone for ClientOptions

Source§

fn clone(&self) -> ClientOptions

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ClientOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Source§

fn type_name(&self) -> &'static str

Source§

impl<T> AnySync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,