pub struct ServerConfigBuilder { /* private fields */ }Expand description
Builder for server configuration.
Implementations§
Source§impl ServerConfigBuilder
impl ServerConfigBuilder
Sourcepub fn protocol(self, config: ProtocolConfig) -> Self
pub fn protocol(self, config: ProtocolConfig) -> Self
Set protocol configuration.
Sourcepub fn rate_limit(self, config: RateLimitConfig) -> Self
pub fn rate_limit(self, config: RateLimitConfig) -> Self
Set rate limiting configuration.
Sourcepub fn connection_limits(self, limits: ConnectionLimits) -> Self
pub fn connection_limits(self, limits: ConnectionLimits) -> Self
Set connection limits.
Sourcepub fn required_capabilities(self, caps: RequiredCapabilities) -> Self
pub fn required_capabilities(self, caps: RequiredCapabilities) -> Self
Set required client capabilities.
Sourcepub fn max_message_size(self, size: usize) -> Self
pub fn max_message_size(self, size: usize) -> Self
Set maximum message size in bytes.
Messages exceeding this size will be rejected. Default: 10MB.
Sourcepub fn build(self) -> ServerConfig
pub fn build(self) -> ServerConfig
Build the server configuration with sensible defaults.
This method always succeeds and uses defaults for any unset fields.
For strict validation, use try_build().
Sourcepub fn try_build(self) -> Result<ServerConfig, ConfigValidationError>
pub fn try_build(self) -> Result<ServerConfig, ConfigValidationError>
Build the server configuration with validation.
This method validates the configuration and returns an error if any constraints are violated. Use this for stricter configuration checking in enterprise deployments.
§Errors
Returns an error if:
max_message_sizeis less than 1024 bytes (minimum viable message size)- Rate limit
max_requestsis 0 - Rate limit
windowis zero - Connection limits have all values set to 0
§Example
use turbomcp_server::ServerConfig;
// Validated build - catches configuration errors
let config = ServerConfig::builder()
.max_message_size(1024 * 1024) // 1MB
.try_build()
.expect("Invalid configuration");Trait Implementations§
Source§impl Clone for ServerConfigBuilder
impl Clone for ServerConfigBuilder
Source§fn clone(&self) -> ServerConfigBuilder
fn clone(&self) -> ServerConfigBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ServerConfigBuilder
impl Debug for ServerConfigBuilder
Source§impl Default for ServerConfigBuilder
impl Default for ServerConfigBuilder
Source§fn default() -> ServerConfigBuilder
fn default() -> ServerConfigBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ServerConfigBuilder
impl RefUnwindSafe for ServerConfigBuilder
impl Send for ServerConfigBuilder
impl Sync for ServerConfigBuilder
impl Unpin for ServerConfigBuilder
impl UnsafeUnpin for ServerConfigBuilder
impl UnwindSafe for ServerConfigBuilder
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