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