pub struct ClientBuilder<T> { /* 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<DirectKvStore>
impl ClientBuilder<DirectKvStore>
sourcepub fn new(nc: Client) -> ClientBuilder<DirectKvStore>
pub fn new(nc: Client) -> ClientBuilder<DirectKvStore>
Creates a new client builder using the given client
source§impl<T> ClientBuilder<T>
impl<T> ClientBuilder<T>
sourcepub fn topic_prefix(self, prefix: impl Into<String>) -> ClientBuilder<T>
pub fn topic_prefix(self, prefix: impl Into<String>) -> ClientBuilder<T>
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<T>
pub fn lattice_prefix(self, prefix: impl Into<String>) -> ClientBuilder<T>
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<T>
pub fn rpc_timeout(self, timeout: Duration) -> ClientBuilder<T>
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<T>
pub fn auction_timeout(self, timeout: Duration) -> ClientBuilder<T>
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<T>
pub fn js_domain(self, domain: impl Into<String>) -> ClientBuilder<T>
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 fn use_caching(self) -> ClientBuilder<CachedKvStore>
pub fn use_caching(self) -> ClientBuilder<CachedKvStore>
Tells the client to use caching for lattice metadata. This is useful for long running
applications that want to consistently fetch lattice metadata. If this is not set, then
every call to get_links
or get_claims
will result in a query to the lattice metadata
bucket
source§impl ClientBuilder<CachedKvStore>
impl ClientBuilder<CachedKvStore>
sourcepub async fn build(
self
) -> Result<Client<CachedKvStore>, Box<dyn Error + Send + Sync>>
pub async fn build( self ) -> Result<Client<CachedKvStore>, 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
source§impl ClientBuilder<DirectKvStore>
impl ClientBuilder<DirectKvStore>
sourcepub async fn build(
self
) -> Result<Client<DirectKvStore>, Box<dyn Error + Send + Sync>>
pub async fn build( self ) -> Result<Client<DirectKvStore>, 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