pub struct InboxMessage {
pub id: String,
pub from: String,
pub to: String,
pub body: String,
pub msg_type: MessageType,
pub timestamp: u64,
}Expand description
A message stored in a member’s inbox.
Fields§
§id: StringUnique message ID (assigned by maildir filename, not serialized in body).
from: StringSender name (e.g., “human”, “architect”, “manager-1”).
to: StringRecipient name.
body: StringMessage body text.
msg_type: MessageTypeMessage type: “send” or “assign”.
timestamp: u64Unix timestamp (seconds since epoch).
Implementations§
Source§impl InboxMessage
impl InboxMessage
Sourcepub fn new_assign(from: &str, to: &str, task: &str) -> Self
pub fn new_assign(from: &str, to: &str, task: &str) -> Self
Create a new assign-type message.
Sourcepub fn to_json_bytes(&self) -> Result<Vec<u8>>
pub fn to_json_bytes(&self) -> Result<Vec<u8>>
Serialize to JSON bytes for storage.
Sourcepub fn from_json_bytes(data: &[u8], id: &str) -> Result<Self>
pub fn from_json_bytes(data: &[u8], id: &str) -> Result<Self>
Deserialize from JSON bytes read from a maildir file.
Trait Implementations§
Source§impl Clone for InboxMessage
impl Clone for InboxMessage
Source§fn clone(&self) -> InboxMessage
fn clone(&self) -> InboxMessage
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 InboxMessage
impl Debug for InboxMessage
Source§impl<'de> Deserialize<'de> for InboxMessage
impl<'de> Deserialize<'de> for InboxMessage
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
Auto Trait Implementations§
impl Freeze for InboxMessage
impl RefUnwindSafe for InboxMessage
impl Send for InboxMessage
impl Sync for InboxMessage
impl Unpin for InboxMessage
impl UnsafeUnpin for InboxMessage
impl UnwindSafe for InboxMessage
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.