pub struct ClientBuilder { /* private fields */ }
Expand description
A client builder that can be used to fluently provide configuration settings used to construct the control interface client
Implementations§
source§impl ClientBuilder
impl ClientBuilder
sourcepub fn new(nc: Client) -> ClientBuilder
pub fn new(nc: Client) -> ClientBuilder
Creates a new client builder
sourcepub fn topic_prefix(self, prefix: impl Into<String>) -> ClientBuilder
pub fn topic_prefix(self, prefix: impl Into<String>) -> ClientBuilder
Sets the topic prefix for the NATS topic used for all control requests. Not to be confused with lattice ID/prefix
sourcepub fn lattice_prefix(self, prefix: impl Into<String>) -> ClientBuilder
pub fn lattice_prefix(self, prefix: impl Into<String>) -> ClientBuilder
The lattice ID/prefix used for this client. If this function is not invoked, the prefix will be set to default
sourcepub fn rpc_timeout(self, timeout: Duration) -> ClientBuilder
pub fn rpc_timeout(self, timeout: Duration) -> ClientBuilder
Sets the timeout for standard calls and RPC invocations used by the client. If not set, the default will be 2 seconds
sourcepub fn auction_timeout(self, timeout: Duration) -> ClientBuilder
pub fn auction_timeout(self, timeout: Duration) -> ClientBuilder
Sets the timeout for auction (scatter/gather) operations. If not set, the default will be 5 seconds
sourcepub fn js_domain(self, domain: impl Into<String>) -> ClientBuilder
pub fn js_domain(self, domain: impl Into<String>) -> ClientBuilder
Sets the JetStream domain for this client, which can be critical for locating the right key-value bucket
for lattice metadata storage. If this is skipped, then the JS domain will be None
sourcepub async fn build(self) -> Result<Client, Box<dyn Error + Send + Sync>>
pub async fn build(self) -> Result<Client, Box<dyn Error + Send + Sync>>
Completes the generation of a control interface client. This function is async because it will attempt
to locate and attach to a metadata key-value bucket (LATTICEDATA_{prefix}
) when starting. If this bucket
is not discovered during build time, all subsequent client calls will operate in “legacy” mode against the
deprecated control interface topics
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ClientBuilder
impl Send for ClientBuilder
impl Sync for ClientBuilder
impl Unpin for ClientBuilder
impl !UnwindSafe for ClientBuilder
Blanket Implementations§
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> 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