pub struct ClientBuilder { /* private fields */ }Expand description
Configurable builder for Client instances
Implements the builder pattern for constructing clients with customized connection parameters and timeouts.
§Typical Usage Flow
- Create with
ClientBuilder::new() - Chain configuration methods
- Finalize with
.build()
§Default Configuration
- Compression: Enabled
- Connect Timeout: 1s
- Request Timeout: 3s
Implementations§
Source§impl ClientBuilder
impl ClientBuilder
Sourcepub fn new(endpoints: Vec<String>) -> Self
pub fn new(endpoints: Vec<String>) -> Self
Create a new builder with default config and specified endpoints
Sourcepub fn connect_timeout(self, timeout: Duration) -> Self
pub fn connect_timeout(self, timeout: Duration) -> Self
Set connection timeout (default: 1s)
Sourcepub fn request_timeout(self, timeout: Duration) -> Self
pub fn request_timeout(self, timeout: Duration) -> Self
Set request timeout (default: 3s)
Sourcepub fn enable_compression(self, enable: bool) -> Self
pub fn enable_compression(self, enable: bool) -> Self
Enable/disable compression (default: enabled)
Sourcepub fn set_config(self, config: ClientConfig) -> Self
pub fn set_config(self, config: ClientConfig) -> Self
Completely replaces the default configuration
§Warning: Configuration Override
This will discard all previous settings configured through individual
methods like connect_timeout or
enable_compression.
§Usage Guidance
Choose either:
- Use granular configuration methods (recommended for most cases)
- Use this method to provide a full configuration object
§Example: Full Configuration
use d_engine::client::{ClientBuilder, ClientConfig};
use std::time::Duration;
let custom_config = ClientConfig {
connect_timeout: Duration::from_secs(2),
request_timeout: Duration::from_secs(5),
..ClientConfig::default()
};
let builder = ClientBuilder::new(vec!["http://node1:9081".into()])
.set_config(custom_config);Auto Trait Implementations§
impl Freeze for ClientBuilder
impl RefUnwindSafe for ClientBuilder
impl Send for ClientBuilder
impl Sync for ClientBuilder
impl Unpin for ClientBuilder
impl UnwindSafe for ClientBuilder
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
Mutably borrows from an owned value. Read more
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>
Wrap the input message
T in a tonic::Request