pub struct BrokerServeConfig {
pub socket_path: String,
pub service_name: String,
pub service_version: String,
pub backend_endpoint: String,
pub service_definition_dir: PathBuf,
pub max_connections: Option<NonZeroUsize>,
pub handoff_endpoint: Option<String>,
}Expand description
Configuration for a bounded broker serve-mode run.
Fields§
§socket_path: StringLocal socket path or Windows pipe name to bind.
service_name: StringService definition to load.
service_version: StringBackend version to register for Hello negotiation.
backend_endpoint: StringDirect backend endpoint returned to negotiated clients.
service_definition_dir: PathBufDirectory containing <service>.servicedef protobuf files.
max_connections: Option<NonZeroUsize>Optional number of control-socket connections to accept before returning.
handoff_endpoint: Option<String>Optional backend handoff endpoint enabling the Phase 6 handle-passing
optimization (#387). None (the default) disables handoff entirely:
negotiated clients always reconnect through backend_endpoint. This
matches the opt-in Phase 6 gate in docs/v1-rollout-policy.md.
Implementations§
Source§impl BrokerServeConfig
impl BrokerServeConfig
Sourcepub fn new(
socket_path: impl Into<String>,
service_name: impl Into<String>,
service_version: impl Into<String>,
backend_endpoint: impl Into<String>,
max_connections: usize,
) -> Result<Self, BrokerServeError>
pub fn new( socket_path: impl Into<String>, service_name: impl Into<String>, service_version: impl Into<String>, backend_endpoint: impl Into<String>, max_connections: usize, ) -> Result<Self, BrokerServeError>
Build a serve config using the platform service-definition directory.
Sourcepub fn unbounded(
socket_path: impl Into<String>,
service_name: impl Into<String>,
service_version: impl Into<String>,
backend_endpoint: impl Into<String>,
) -> Self
pub fn unbounded( socket_path: impl Into<String>, service_name: impl Into<String>, service_version: impl Into<String>, backend_endpoint: impl Into<String>, ) -> Self
Build an unbounded serve config using the platform service-definition directory.
Sourcepub fn with_service_definition_dir(self, root: impl Into<PathBuf>) -> Self
pub fn with_service_definition_dir(self, root: impl Into<PathBuf>) -> Self
Override the service-definition directory.
Sourcepub fn with_handoff_endpoint(self, endpoint: impl Into<String>) -> Self
pub fn with_handoff_endpoint(self, endpoint: impl Into<String>) -> Self
Opt in to the Phase 6 handle-passing handoff by configuring the backend handoff endpoint the broker dials after negotiation (#387).
Sourcepub fn connection_limit(&self) -> ControlSocketConnectionLimit
pub fn connection_limit(&self) -> ControlSocketConnectionLimit
Return the configured accept-loop connection limit.
Trait Implementations§
Source§impl Clone for BrokerServeConfig
impl Clone for BrokerServeConfig
Source§fn clone(&self) -> BrokerServeConfig
fn clone(&self) -> BrokerServeConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for BrokerServeConfig
impl RefUnwindSafe for BrokerServeConfig
impl Send for BrokerServeConfig
impl Sync for BrokerServeConfig
impl Unpin for BrokerServeConfig
impl UnsafeUnpin for BrokerServeConfig
impl UnwindSafe for BrokerServeConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more