#[must_use]
#[derive(Debug)]
pub struct ProcessMessage {
message_uuid: uuid::Uuid,
delegated: bool,
}
impl ProcessMessage {
pub const fn new(message_uuid: uuid::Uuid) -> Self {
Self {
message_uuid,
delegated: false,
}
}
pub(crate) const fn delegated(message_uuid: uuid::Uuid) -> Self {
Self {
message_uuid,
delegated: true,
}
}
pub(crate) const fn is_from_delegation(&self) -> bool {
self.delegated
}
}
impl AsRef<uuid::Uuid> for ProcessMessage {
fn as_ref(&self) -> &uuid::Uuid {
&self.message_uuid
}
}
#[cfg(test)]
mod test {
use crate::ProcessMessage;
#[test]
fn debug() {
println!(
"{:?}",
ProcessMessage {
message_uuid: uuid::Uuid::nil(),
delegated: false,
}
);
}
}