Skip to main content

Module ffi

Module ffi 

Source
Expand description

phase-515 R9 (decision D4) – the sealed trait the C/C++ shims import for the executor’s FFI entry points. nros does not re-export it. The executor’s FFI surface (phase-515 R9, decision D4).

Methods that exist for nros-c and nros-cpp – the C-shaped entry points (raw pointers, extern "C" callbacks, unsafe release paths) and the plumbing those shims reach into – are not part of the Rust user API. They live here, behind a SEALED trait that the shims import and nros never re-exports, so a Rust user neither sees them in the nros docs nor can call them through nros. Each one is a crate-private inherent method of Executor; this trait forwards to it, and nothing else implements it.

Stage 2 does the same for the untyped action machinery: every method of ActionServerCore, ActionClientCore, ActionServerRawHandle and ActionClientRawHandle sits behind its own sealed *Ffi trait below. The types stay public, because the sizes probe and the shims’ storage name them.

Not #[doc(hidden)]: that leaves a method callable and semver-visible.

Traits§

ActionClientCoreFfi
ActionClientCore’s methods, for nros-c, nros-cpp and the nros runtime. Sealed.
ActionClientRawHandleFfi
ActionClientRawHandle’s methods, for nros-c, nros-cpp and the nros runtime. Sealed.
ActionServerCoreFfi
ActionServerCore’s methods, for nros-c, nros-cpp and the nros runtime. Sealed.
ActionServerRawHandleFfi
ActionServerRawHandle’s methods, for nros-c, nros-cpp and the nros runtime. Sealed.
ExecutorFfi
The executor’s FFI entry points, for nros-c and nros-cpp. Sealed.