Preview of the proposed up-rust native-frame-model branch (up-rust b6b99c6d, up-spec f0e9b17) — not released documentation. branch · write-up

Trait UOwnedTransport

Source
pub trait UOwnedTransport:
    Sealed
    + Send
    + Sync {
    // Required methods
    fn send_owned<'life0, 'async_trait>(
        &'life0 self,
        frame: UOwnedFrame,
    ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn receive_owned<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        source_filter: &'life1 UUri,
        sink_filter: Option<&'life2 UUri>,
    ) -> Pin<Box<dyn Future<Output = Result<UOwnedFrame, UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn register_owned_listener<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        source_filter: &'life1 UUri,
        sink_filter: Option<&'life2 UUri>,
        listener: Arc<dyn UOwnedListener>,
    ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn unregister_owned_listener<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        source_filter: &'life1 UUri,
        sink_filter: Option<&'life2 UUri>,
        listener: Arc<dyn UOwnedListener>,
    ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}
Expand description

Experimental serialization-neutral owned native-frame transport API.

This API is additive to UTransport. It does not replace the ordinary UMessage compatibility path and intentionally does not include copying adapters between transport families.

Required Methods§

Source

fn send_owned<'life0, 'async_trait>( &'life0 self, frame: UOwnedFrame, ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Sends an owned native frame after public validation.

Source

fn receive_owned<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, source_filter: &'life1 UUri, sink_filter: Option<&'life2 UUri>, ) -> Pin<Box<dyn Future<Output = Result<UOwnedFrame, UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Receives one matching owned frame from transports that support pull receive.

Source

fn register_owned_listener<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, source_filter: &'life1 UUri, sink_filter: Option<&'life2 UUri>, listener: Arc<dyn UOwnedListener>, ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Registers a listener for matching owned native frames.

Source

fn unregister_owned_listener<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, source_filter: &'life1 UUri, sink_filter: Option<&'life2 UUri>, listener: Arc<dyn UOwnedListener>, ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Unregisters a listener for matching owned native frames.

Implementors§