pub struct CffiRmw;Expand description
RMW factory for the C function table backend.
Implementations§
Source§impl CffiRmw
impl CffiRmw
Sourcepub fn open_with_rmw(
rmw_name: &str,
config: &RmwConfig<'_>,
) -> Result<CffiSession, TransportError>
pub fn open_with_rmw( rmw_name: &str, config: &RmwConfig<'_>, ) -> Result<CffiSession, TransportError>
Phase 104.C.1 — open a session against a named backend.
rmw_name selects an entry from the registry populated by
nros_rmw_cffi_register_named (Phase 104.B.2).
Trait Implementations§
Source§impl Rmw for CffiRmw
impl Rmw for CffiRmw
Source§type Session = CffiSession
type Session = CffiSession
Session type returned by
openSource§type Error = TransportError
type Error = TransportError
Error type for session creation
Source§fn open(self, config: &RmwConfig<'_>) -> Result<CffiSession, TransportError>
fn open(self, config: &RmwConfig<'_>) -> Result<CffiSession, TransportError>
Open a new middleware session with the given configuration. Read more
Auto Trait Implementations§
impl Freeze for CffiRmw
impl RefUnwindSafe for CffiRmw
impl Send for CffiRmw
impl Sync for CffiRmw
impl Unpin for CffiRmw
impl UnsafeUnpin for CffiRmw
impl UnwindSafe for CffiRmw
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
Mutably borrows from an owned value. Read more
Source§impl<R> RustBackend for Rwhere
<R as Rmw>::Session: 'static + Session<Error = TransportError>,
<<R as Rmw>::Session as Session>::PublisherHandle: Publisher<Error = TransportError> + 'static,
<<R as Rmw>::Session as Session>::SubscriptionHandle: Subscription<Error = TransportError> + 'static,
R: Default + Rmw<Error = TransportError>,
<<R as Rmw>::Session as Session>::ServiceHandle: ServiceTrait<Error = TransportError> + 'static,
<<R as Rmw>::Session as Session>::ClientHandle: ClientTrait<Error = TransportError> + 'static,
impl<R> RustBackend for Rwhere
<R as Rmw>::Session: 'static + Session<Error = TransportError>,
<<R as Rmw>::Session as Session>::PublisherHandle: Publisher<Error = TransportError> + 'static,
<<R as Rmw>::Session as Session>::SubscriptionHandle: Subscription<Error = TransportError> + 'static,
R: Default + Rmw<Error = TransportError>,
<<R as Rmw>::Session as Session>::ServiceHandle: ServiceTrait<Error = TransportError> + 'static,
<<R as Rmw>::Session as Session>::ClientHandle: ClientTrait<Error = TransportError> + 'static,
type Session = <R as Rmw>::Session
type Publisher = <<R as Rmw>::Session as Session>::PublisherHandle
type Subscription = <<R as Rmw>::Session as Session>::SubscriptionHandle
type Service = <<R as Rmw>::Session as Session>::ServiceHandle
type Client = <<R as Rmw>::Session as Session>::ClientHandle
Source§fn factory() -> R
fn factory() -> R
Construct a fresh factory instance. Called inside the
open
trampoline. Equivalent to R::default() for backends that
derive(Default); the indirection keeps the door open for
future per-backend registration knobs.Source§fn open(
self,
config: &RmwConfig<'_>,
) -> Result<<R as RustBackend>::Session, TransportError>
fn open( self, config: &RmwConfig<'_>, ) -> Result<<R as RustBackend>::Session, TransportError>
Move the factory into a session per the
Rmw::open contract.