pub struct ChatMessage {
pub msg_id: String,
pub conversation_id: String,
pub from: String,
pub to: String,
pub body: String,
pub at: u64,
pub direction: Direction,
pub state: MessageState,
}Expand description
A locally stored chat message. The body is plaintext only inside the encrypted history journal and in memory.
Fields§
§msg_id: StringSender-generated message id, lowercase hex.
conversation_id: Stringdm:<peer pubkey> for direct messages, group:<room id> for rooms.
from: StringSender’s ed25519 public key, lowercase hex.
to: StringRecipient public key for DMs, room id for room messages.
body: StringMessage text. Never persist this unencrypted.
at: u64Sender-supplied Unix timestamp in milliseconds.
direction: DirectionWhether this identity sent or received the message.
state: MessageStateDelivery state at the time the record was written.
Implementations§
Source§impl ChatMessage
impl ChatMessage
Sourcepub fn incoming(from: &str, to: &str, msg_id: &str, body: &str, at: u64) -> Self
pub fn incoming(from: &str, to: &str, msg_id: &str, body: &str, at: u64) -> Self
Build a received 1:1 message.
Sourcepub fn outgoing(from: &str, to: &str, msg_id: &str, body: &str, at: u64) -> Self
pub fn outgoing(from: &str, to: &str, msg_id: &str, body: &str, at: u64) -> Self
Build a sent 1:1 message.
Sourcepub fn incoming_group(
from: &str,
gid: &str,
msg_id: &str,
body: &str,
at: u64,
) -> Self
pub fn incoming_group( from: &str, gid: &str, msg_id: &str, body: &str, at: u64, ) -> Self
Build a received room message. to is the room id.
Trait Implementations§
Source§impl Clone for ChatMessage
impl Clone for ChatMessage
Source§impl Debug for ChatMessage
impl Debug for ChatMessage
Source§impl<'de> Deserialize<'de> for ChatMessage
impl<'de> Deserialize<'de> for ChatMessage
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
impl Eq for ChatMessage
Source§impl PartialEq for ChatMessage
impl PartialEq for ChatMessage
Source§impl Serialize for ChatMessage
impl Serialize for ChatMessage
impl StructuralPartialEq for ChatMessage
Auto Trait Implementations§
impl Freeze for ChatMessage
impl RefUnwindSafe for ChatMessage
impl Send for ChatMessage
impl Sync for ChatMessage
impl Unpin for ChatMessage
impl UnsafeUnpin for ChatMessage
impl UnwindSafe for ChatMessage
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