pub fn refuse_without_readiness(
session: CffiSession,
) -> Result<CffiSession, TransportError>Expand description
phase-521 W6 (RFC-0113 D5) — a runtime session must state how it becomes
ready: Notify (the backend calls the executor’s wake callback on an
arrival) or Waitable (a handle the port parks on). A session that states
neither could only be drained by blocking inside its own receive, which
no deadline and no other session can end, so nano-ros cannot keep its
real-time wait promise over it. It is refused at open, by name, instead of
parked on blindly.
Every runtime open goes through CffiRmw (the executor’s, an extra
session’s, the C/C++ support context’s), so this is the one place the
rule is asked. CffiSession’s own constructors stay unchecked: they are
the seam a backend’s own tests drive directly.