Skip to main content

open_session

Function open_session 

Source
pub fn open_session(
    locator: &str,
    mode: SessionMode,
    domain_id: u32,
    node_name: &str,
) -> Result<RmwSession, TransportError>
Expand description

Open a new middleware session.

Wraps the backend-specific session constructor behind a common signature. Used by the C API (nros-c); Rust users should prefer Executor::open().

Phase 156 — consults $NROS_RMW (when std + the env var is set) to pin the primary backend by name, mirroring what Executor::open does for Rust callers. Without this, C bridges built with two linked backends (e.g. xrce + dds) get whichever ctor fires first via linkme — non-deterministic across link orderings + often the wrong backend for the bridge’s intended primary.