pub trait UZeroCopyUninitTransportExt: UZeroCopyUninitTransport {
// Provided methods
fn send_uninit_loaned_payload<'life0, 'async_trait, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(LoanedUninitPayload<'payload, T>) -> Result<LoanedInitPayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where Self: UHasWire + Sync + 'async_trait,
Self::Wire: UWirePayload<T>,
<Self::Wire as UWirePayload<T>>::Codec: LoanUninitPayload<T> + Send + Sync,
T: Send + 'async_trait,
'life0: 'async_trait { ... }
fn send_uninit_loaned_payload_as<'life0, 'async_trait, C, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(LoanedUninitPayload<'payload, T>) -> Result<LoanedInitPayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where C: PayloadCodec + LoanUninitPayload<T> + Send + Sync + 'async_trait,
T: Send + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn send_uninit_stable_payload<'life0, 'async_trait, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(StablePayloadInitContext<'payload, T>) -> Result<InitializedStablePayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where Self: UHasWire + Sync + 'async_trait,
Self::Wire: UWirePayload<T, Codec = StableContainerPayload<T>>,
T: StablePayloadInit + Send + 'async_trait,
'life0: 'async_trait { ... }
fn send_uninit_stable_payload_as<'life0, 'async_trait, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(StablePayloadInitContext<'payload, T>) -> Result<InitializedStablePayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where T: StablePayloadInit + Send + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
}Expand description
Role: free blanket methods for typed initialization into uninitialized loans; never implemented by hand — see the trait map.
Convenience methods for zero-copy transports with uninitialized TX storage.
Provided Methods§
Sourcefn send_uninit_loaned_payload<'life0, 'async_trait, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(LoanedUninitPayload<'payload, T>) -> Result<LoanedInitPayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>where
Self: UHasWire + Sync + 'async_trait,
Self::Wire: UWirePayload<T>,
<Self::Wire as UWirePayload<T>>::Codec: LoanUninitPayload<T> + Send + Sync,
T: Send + 'async_trait,
'life0: 'async_trait,
fn send_uninit_loaned_payload<'life0, 'async_trait, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(LoanedUninitPayload<'payload, T>) -> Result<LoanedInitPayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>where
Self: UHasWire + Sync + 'async_trait,
Self::Wire: UWirePayload<T>,
<Self::Wire as UWirePayload<T>>::Codec: LoanUninitPayload<T> + Send + Sync,
T: Send + 'async_trait,
'life0: 'async_trait,
Constructs a typed payload using the adapter’s selected wire and sends it.
Prefer this selected-wire helper on values produced by explicit selected-wire adapter construction.
Use Self::send_uninit_loaned_payload_as only for low-level codec
escape hatches.
§Errors
Returns an error if metadata validation, loaning, initialization, or send fails.
Sourcefn send_uninit_loaned_payload_as<'life0, 'async_trait, C, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(LoanedUninitPayload<'payload, T>) -> Result<LoanedInitPayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>where
C: PayloadCodec + LoanUninitPayload<T> + Send + Sync + 'async_trait,
T: Send + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn send_uninit_loaned_payload_as<'life0, 'async_trait, C, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(LoanedUninitPayload<'payload, T>) -> Result<LoanedInitPayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>where
C: PayloadCodec + LoanUninitPayload<T> + Send + Sync + 'async_trait,
T: Send + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
Constructs a typed payload directly in uninitialized transmit storage and sends it.
This is the low-level codec-selected form. Product code that already uses
explicit selected-wire adapter construction should prefer
send_uninit_loaned_payload so the
selected wire supplies the payload codec.
§Errors
Returns an error if metadata validation fails, the transport cannot loan the requested uninitialized layout, the codec rejects the loaned storage, the initializer fails, or sending the committed loan fails.
Sourcefn send_uninit_stable_payload<'life0, 'async_trait, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(StablePayloadInitContext<'payload, T>) -> Result<InitializedStablePayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>where
Self: UHasWire + Sync + 'async_trait,
Self::Wire: UWirePayload<T, Codec = StableContainerPayload<T>>,
T: StablePayloadInit + Send + 'async_trait,
'life0: 'async_trait,
fn send_uninit_stable_payload<'life0, 'async_trait, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(StablePayloadInitContext<'payload, T>) -> Result<InitializedStablePayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>where
Self: UHasWire + Sync + 'async_trait,
Self::Wire: UWirePayload<T, Codec = StableContainerPayload<T>>,
T: StablePayloadInit + Send + 'async_trait,
'life0: 'async_trait,
Initializes a stable-container payload through the adapter’s selected wire.
Prefer this selected-wire helper on values produced by explicit selected-wire adapter construction.
It is available only for selected wires whose uninitialized-loan codec is
StableContainerPayload<T>.
§Errors
Returns an error if metadata validation, stable initialization, loaning, or send fails.
Sourcefn send_uninit_stable_payload_as<'life0, 'async_trait, T>(
&'life0 self,
metadata: UFrameMetadata,
init: impl 'async_trait + for<'payload> FnOnce(StablePayloadInitContext<'payload, T>) -> Result<InitializedStablePayload<'payload, T>, UWireError> + Send,
) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
fn send_uninit_stable_payload_as<'life0, 'async_trait, T>( &'life0 self, metadata: UFrameMetadata, init: impl 'async_trait + for<'payload> FnOnce(StablePayloadInitContext<'payload, T>) -> Result<InitializedStablePayload<'payload, T>, UWireError> + Send, ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
Initializes a stable-container payload directly in uninitialized transmit storage.
This is the low-level stable-container form. Product code that already
uses explicit selected-wire adapter construction should prefer
send_uninit_stable_payload so
the selected wire authorizes the stable-container payload family.
The initializer is generated by #[derive(StablePayloadInit)]; it exposes
named typed setters and returns a completion token only after all required
fields and generated padding gaps are initialized.
§Errors
Returns an error if metadata validation fails, the transport cannot loan the requested stable layout, initialization fails, the completion token is not completed, or sending the committed loan fails.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.