#[repr(C)]pub struct PdEnvelope {
pub message_id: u128,
pub source: u128,
pub destination: u128,
pub type_tag: u64,
pub payload_len: u32,
pub flags: u32,
pub correlation_id: u64,
}Expand description
Fixed-size C-compatible message header passed to plugin lifecycle hooks.
The layout is identical to palladium_actor::Envelope (80 bytes, repr(C)),
so the engine can reinterpret Envelope bytes directly without copying.
All multi-byte fields are little-endian.
Field offsets:
offset 0 – 15 : message_id (u128)
offset 16 – 31 : source (u128, actor AddrHash)
offset 32 – 47 : destination (u128, actor AddrHash)
offset 48 – 55 : type_tag (u64, message type discriminant)
offset 56 – 59 : payload_len (u32)
offset 60 – 63 : flags (u32, see FLAG_* constants)
offset 64 – 71 : correlation_id(u64)
offset 72 – 79 : (implicit repr(C) padding — write as zeros)Total size: 80 bytes (verified by ENVELOPE_SIZE).
Fields§
§message_id: u128Unique message identifier (engine-assigned).
source: u128Sender’s AddrHash (path + generation, packed into a u128).
destination: u128Recipient’s AddrHash.
type_tag: u64Message type discriminant (FNV-1a of the fully-qualified type name).
payload_len: u32Byte length of the accompanying payload buffer.
flags: u32Bitfield flags — see FLAG_RESPONSE and FLAG_PRIORITY_MASK.
correlation_id: u64Response correlation: matches the message_id of the request.
Trait Implementations§
Source§impl Clone for PdEnvelope
impl Clone for PdEnvelope
Source§fn clone(&self) -> PdEnvelope
fn clone(&self) -> PdEnvelope
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PdEnvelope
impl Debug for PdEnvelope
impl Copy for PdEnvelope
Auto Trait Implementations§
impl Freeze for PdEnvelope
impl RefUnwindSafe for PdEnvelope
impl Send for PdEnvelope
impl Sync for PdEnvelope
impl Unpin for PdEnvelope
impl UnsafeUnpin for PdEnvelope
impl UnwindSafe for PdEnvelope
Blanket Implementations§
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