pub trait RustBackend: Sized {
type Session: Session<Error = TransportError, PublisherHandle = Self::Publisher, SubscriptionHandle = Self::Subscription, ServiceHandle = Self::Service, ClientHandle = Self::Client> + 'static;
type Publisher: Publisher<Error = TransportError> + 'static;
type Subscription: Subscription<Error = TransportError> + 'static;
type Service: ServiceTrait<Error = TransportError> + 'static;
type Client: ClientTrait<Error = TransportError> + 'static;
// Required methods
fn factory() -> Self;
fn open(
self,
config: &RmwConfig<'_>,
) -> Result<Self::Session, TransportError>;
}Expand description
Bundle of trait bounds an Rmw backend must satisfy to be exposed
through RustBackendAdapter. Implemented automatically for any
R: Rmw whose handle types use TransportError and are
'static.
Required Associated Types§
type Session: Session<Error = TransportError, PublisherHandle = Self::Publisher, SubscriptionHandle = Self::Subscription, ServiceHandle = Self::Service, ClientHandle = Self::Client> + 'static
type Publisher: Publisher<Error = TransportError> + 'static
type Subscription: Subscription<Error = TransportError> + 'static
type Service: ServiceTrait<Error = TransportError> + 'static
type Client: ClientTrait<Error = TransportError> + 'static
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".