pub struct NativeUFrameEnvelope;Expand description
Canonical whole-frame envelope carrying native frame metadata and payload bytes with full fidelity.
The envelope mirrors the physical layout the shared-memory transports already use — a small fixed placement header followed by the variable canonical metadata field block, followed by the payload bytes:
offset size field
0 4 magic "UPFE"
4 1 envelope version (1)
5 1 payload presence (0 = absent, 1 = present)
6 2 reserved, MUST be zero
8 4 metadata_len (u32, little-endian)
12 8 payload_len (u64, little-endian; 0 when absent)
20 ... metadata field block (see [`crate::frame::codec`])
20+m ... payload bytesThis is the recommended carrier for native frames over ordinary byte
channels (an MQTT payload, a SOME/IP payload, a Zenoh attachment+payload
pair collapsed into one buffer, a file, …). Unlike
ProtobufUMessageFrame it preserves open payload encodings and does
not require protobuf support.
Trait Implementations§
Source§impl Debug for NativeUFrameEnvelope
impl Debug for NativeUFrameEnvelope
Source§impl UFrameWireFormat for NativeUFrameEnvelope
impl UFrameWireFormat for NativeUFrameEnvelope
Source§fn name() -> &'static str
fn name() -> &'static str
Stable implementation name for logs, diagnostics, and configuration.
Source§fn content_type() -> &'static str
fn content_type() -> &'static str
Media type of bytes emitted by
Self::serialize_frame.Source§fn serialize_frame(frame: &UOwnedFrame) -> Result<Bytes, UFrameWireError>
fn serialize_frame(frame: &UOwnedFrame) -> Result<Bytes, UFrameWireError>
Serializes a complete native frame, including metadata and payload bytes. Read more
Source§fn deserialize_frame(src: &[u8]) -> Result<UOwnedFrame, UFrameWireError>
fn deserialize_frame(src: &[u8]) -> Result<UOwnedFrame, UFrameWireError>
Deserializes a complete native frame from this wire format’s bytes. Read more
Auto Trait Implementations§
impl Freeze for NativeUFrameEnvelope
impl RefUnwindSafe for NativeUFrameEnvelope
impl Send for NativeUFrameEnvelope
impl Sync for NativeUFrameEnvelope
impl Unpin for NativeUFrameEnvelope
impl UnwindSafe for NativeUFrameEnvelope
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<TCore> UWithNativePrefixWire for TCore
impl<TCore> UWithNativePrefixWire for TCore
Source§fn into_native_prefix_wire_transport<W>(
self,
wire: W,
) -> UWireTransport<TCore, W, NativePrefixFrameMetadataCodec>where
W: UWire,
fn into_native_prefix_wire_transport<W>(
self,
wire: W,
) -> UWireTransport<TCore, W, NativePrefixFrameMetadataCodec>where
W: UWire,
Wraps this core with an external or custom selected wire using canonical metadata.
Source§fn into_protobuf_transport(
self,
) -> UWireTransport<TCore, ProtobufWire, NativePrefixFrameMetadataCodec>
fn into_protobuf_transport( self, ) -> UWireTransport<TCore, ProtobufWire, NativePrefixFrameMetadataCodec>
Wraps this core with the Protocol Buffers selected-wire profile.
Source§fn into_stable_container_transport(
self,
) -> UWireTransport<TCore, StableContainerWireFormat, NativePrefixFrameMetadataCodec>
fn into_stable_container_transport( self, ) -> UWireTransport<TCore, StableContainerWireFormat, NativePrefixFrameMetadataCodec>
Wraps this core with the stable-container selected-wire profile.