pub trait UOwnedTransportImpl: Send + Sync {
// Required method
fn send_validated_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;
// Provided methods
fn receive_validated_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_validated_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_validated_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
Role: implemented by transports offering the owned-frame family; users call UOwnedTransport — see the trait map.
Role: called by users of the owned-frame family; transports implement UOwnedTransportImpl instead — see the trait map.
Implementation boundary for experimental owned native-frame transports.
Implementing this trait buys the public UOwnedTransport API, frame and
filter validation, listener validation, and compatibility projections above
the transport. Only the Validated frame state reaches
the required send method — constructors validate, and the only path from
Unvalidated is UOwnedFrame::validate — so
req~owned-frame-validate-before-send~1 is enforced by the type system
before delegation.
Send is required. Pull receive and listener registration have default
unsupported implementations and are overridden only for carriage patterns
the technology supports. UOwnedTransportCore is the different,
selected-wire seam for transports that carry encoded metadata bytes.
Required Methods§
Sourcefn send_validated_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 send_validated_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 already validated owned frame.
Provided Methods§
Sourcefn receive_validated_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 receive_validated_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.
Sourcefn register_validated_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 register_validated_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 an owned listener after public filter validation.
Sourcefn unregister_validated_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_validated_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 an owned listener after public filter validation.