pub struct IpcMessageHeader {
pub length: u32,
pub message_type: MessageType,
}Expand description
Header for IPC messages, used for framing on the wire.
The header precedes every message and allows the receiver to:
- Know how many bytes to read for the payload
- Quickly determine message type without full deserialization
Fields§
§length: u32Total length of the payload (not including header)
message_type: MessageTypeType of message (mirrors CommandMessage.message_type for quick routing)
Implementations§
Source§impl IpcMessageHeader
impl IpcMessageHeader
Sourcepub fn new(message_type: MessageType, payload_length: u32) -> Self
pub fn new(message_type: MessageType, payload_length: u32) -> Self
Create a new header
Sourcepub fn from_message(msg: &CommandMessage) -> Result<Self, Error>
pub fn from_message(msg: &CommandMessage) -> Result<Self, Error>
Create a header from a CommandMessage (extracts type and computes length)
Sourcepub fn from_bytes(bytes: &[u8; 5]) -> Self
pub fn from_bytes(bytes: &[u8; 5]) -> Self
Deserialize header from bytes
Trait Implementations§
Source§impl Clone for IpcMessageHeader
impl Clone for IpcMessageHeader
Source§fn clone(&self) -> IpcMessageHeader
fn clone(&self) -> IpcMessageHeader
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 IpcMessageHeader
impl Debug for IpcMessageHeader
Source§impl<'de> Deserialize<'de> for IpcMessageHeader
impl<'de> Deserialize<'de> for IpcMessageHeader
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for IpcMessageHeader
impl Serialize for IpcMessageHeader
impl Copy for IpcMessageHeader
Auto Trait Implementations§
impl Freeze for IpcMessageHeader
impl RefUnwindSafe for IpcMessageHeader
impl Send for IpcMessageHeader
impl Sync for IpcMessageHeader
impl Unpin for IpcMessageHeader
impl UnwindSafe for IpcMessageHeader
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