xous/definitions/messages/
sender.rs1use crate::PID;
2
3#[derive(Debug, PartialEq, Eq, Ord, PartialOrd, Copy, Clone, Default)]
4pub struct Sender {
5 data: usize,
6}
7
8impl Sender {
9 pub fn to_usize(&self) -> usize { self.data }
10
11 pub fn from_usize(data: usize) -> Self { Sender { data } }
12
13 pub fn pid(&self) -> Option<PID> {
14 let pid_u8 = ((self.data >> 24) & 0xff) as u8;
15 PID::new(pid_u8)
16 }
17}
18
19impl core::fmt::Display for Sender {
20 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21 write!(f, "MessageSender.data: 0x{:08x}", self.data)
22 }
23}