pub struct NodeOptions {
pub host: String,
pub transport: String,
pub ws_url: Option<String>,
pub console_url: Option<String>,
pub message_xsub: Option<String>,
pub message_xpub: Option<String>,
pub service_frontend: Option<String>,
pub service_backend: Option<String>,
pub action_backend: Option<String>,
pub action_frontend: Option<String>,
}Expand description
Broker connection settings owned by a [Node].
Defaults: host = "localhost", transport = "tcp". Prefer the presets
NodeOptions::tcp / NodeOptions::ipc / NodeOptions::inproc
(or [Node::tcp] / [Node::ipc] / [Node::inproc]) instead of filling
every endpoint by hand. Explicit endpoint fields still override derived
transports::* addresses when set.
For WebSocket clients, use NodeOptions::ws / [Node::ws]
(transport = "ws", ws_url points at the broker WebSocket listen address).
Fields§
§host: String§transport: String§ws_url: Option<String>WebSocket RPC server base URL when transport == "ws" (e.g. http://127.0.0.1:15560).
console_url: Option<String>Embedded console HTTP base URL (same origin as the API listen when co-located).
Filled by discovery when the broker announces it. Used by rbus / introspection
clients; topology registration goes over the message bus.
message_xsub: Option<String>§message_xpub: Option<String>§service_frontend: Option<String>§service_backend: Option<String>§action_backend: Option<String>§action_frontend: Option<String>Implementations§
Source§impl NodeOptions
impl NodeOptions
Sourcepub fn discover(self, opts: DiscoverOpts) -> Result<Self>
pub fn discover(self, opts: DiscoverOpts) -> Result<Self>
Wait for a broker discover response, then apply it onto this options value.
Source§impl NodeOptions
impl NodeOptions
Sourcepub fn ipc() -> Self
pub fn ipc() -> Self
IPC under the default directory (/tmp/robot_bus). Prefer discover when the
broker uses a broker-id namespaced ipc dir.
Sourcepub fn ipc_at(dir: impl AsRef<str>) -> Self
pub fn ipc_at(dir: impl AsRef<str>) -> Self
IPC under a custom directory (must match the broker’s ipc binds).
Sourcepub fn inproc_at(prefix: impl AsRef<str>) -> Self
pub fn inproc_at(prefix: impl AsRef<str>) -> Self
Same-process endpoints under a custom prefix (must match the broker).
prefix may be my_app or inproc://my_app.
Sourcepub fn ws() -> Self
pub fn ws() -> Self
WebSocket RPC server (native + browser /ws-rpc) on the local broker (http://127.0.0.1:15560).
Sourcepub fn ws_at(url: impl Into<String>) -> Self
pub fn ws_at(url: impl Into<String>) -> Self
WebSocket RPC server at url (e.g. http://127.0.0.1:15560); browsers use ws(s)://…/ws-rpc.
pub fn is_ws(&self) -> bool
pub fn resolved_ws_url(&self) -> Result<String>
pub fn message_xsub_endpoint(&self) -> Result<String>
pub fn message_xpub_endpoint(&self) -> Result<String>
pub fn service_frontend_endpoint(&self) -> Result<String>
pub fn service_backend_endpoint(&self) -> Result<String>
pub fn action_backend_endpoint(&self) -> Result<String>
pub fn action_frontend_endpoint(&self) -> Result<String>
Sourcepub fn needs_endpoint_discover(&self) -> bool
pub fn needs_endpoint_discover(&self) -> bool
True when ZMQ endpoint fields still need to be filled (e.g. via HTTP discover).
Trait Implementations§
Source§impl Clone for NodeOptions
impl Clone for NodeOptions
Source§fn clone(&self) -> NodeOptions
fn clone(&self) -> NodeOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more