pub struct ClientBuilder<T: Transport> { /* private fields */ }Expand description
Builder for creating clients with custom configuration.
§Examples
use pmcp::{ClientBuilder, StdioTransport};
// Basic client builder
let transport = StdioTransport::new();
let client = ClientBuilder::new(transport)
.enforce_strict_capabilities(true)
.build();
// Client with debounced notifications
let transport2 = StdioTransport::new();
let debounced_client = ClientBuilder::new(transport2)
.debounced_notifications(vec![
"notifications/progress".to_string(),
"notifications/log".to_string(),
])
.enforce_strict_capabilities(false)
.build();
// Chain multiple configurations
let transport3 = StdioTransport::new();
let configured_client = ClientBuilder::new(transport3)
.enforce_strict_capabilities(true)
.debounced_notifications(vec!["notifications/resources/changed".to_string()])
.build();Implementations§
Source§impl<T: Transport> ClientBuilder<T>
impl<T: Transport> ClientBuilder<T>
Sourcepub fn enforce_strict_capabilities(self, enforce: bool) -> Self
pub fn enforce_strict_capabilities(self, enforce: bool) -> Self
Set whether to enforce strict capabilities.
Sourcepub fn debounced_notifications(self, methods: Vec<String>) -> Self
pub fn debounced_notifications(self, methods: Vec<String>) -> Self
Set debounced notification methods.
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for ClientBuilder<T>where
T: Freeze,
impl<T> RefUnwindSafe for ClientBuilder<T>where
T: RefUnwindSafe,
impl<T> Send for ClientBuilder<T>
impl<T> Sync for ClientBuilder<T>
impl<T> Unpin for ClientBuilder<T>where
T: Unpin,
impl<T> UnwindSafe for ClientBuilder<T>where
T: UnwindSafe,
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