pub struct MobileChatMutationRecord {Show 32 fields
pub session_id: u64,
pub handle: u32,
pub revision: u32,
pub kind: MobileChatMutationKind,
pub conversation_address: Option<String>,
pub sender_address: Option<String>,
pub sender_hint: Option<Vec<u8>>,
pub direction: Option<MobileChatDirection>,
pub message_type: Option<u8>,
pub wire_id: Option<u8>,
pub epoch: Option<u16>,
pub client_token: Option<u32>,
pub sender_handle: Option<String>,
pub regarding_handle: Option<u32>,
pub regarding_wire_id: Option<u8>,
pub regarding_direction: Option<MobileChatDirection>,
pub regarding_sender_hint: Option<Vec<u8>>,
pub background_color: Option<Vec<u8>>,
pub text_color: Option<Vec<u8>>,
pub original_handle: Option<u32>,
pub original_wire_id: Option<u8>,
pub original_direction: Option<MobileChatDirection>,
pub original_sender_hint: Option<Vec<u8>>,
pub body: Option<String>,
pub complete: Option<bool>,
pub present_fragments: Option<u16>,
pub fragment_count: Option<u8>,
pub finalized: Option<bool>,
pub presence: MobileChatPresence,
pub received_late: bool,
pub notify: bool,
pub rx: Option<MobileChatRxMetadataRecord>,
}Fields§
§session_id: u64A facade-session namespace prevents the engine’s process-local u32 handles from colliding after restart.
handle: u32§revision: u32§kind: MobileChatMutationKind§conversation_address: Option<String>§sender_address: Option<String>§sender_hint: Option<Vec<u8>>The sender’s 3-byte claimed hint, for a channel group message. The
only sender identity a multicast frame is required to carry; present
whether or not sender_address could be resolved.
direction: Option<MobileChatDirection>§message_type: Option<u8>§wire_id: Option<u8>§epoch: Option<u16>§client_token: Option<u32>§sender_handle: Option<String>§regarding_handle: Option<u32>§regarding_wire_id: Option<u8>When a reply or emote references a message the engine holds no live
handle for, these export the wire reference the same way the
original_* fields do for edits: the target’s wire ID within
regarding_direction’s stream, plus the hint identifying which
member’s stream in a channel group.
regarding_direction: Option<MobileChatDirection>§regarding_sender_hint: Option<Vec<u8>>§background_color: Option<Vec<u8>>§text_color: Option<Vec<u8>>§original_handle: Option<u32>§original_wire_id: Option<u8>When an edit/delete references a message the engine no longer holds a
live handle for (composed before a restart), these export the wire
reference so the platform can resolve it against persisted rows:
the original’s wire ID within original_direction’s stream of the
record’s conversation_address conversation.
original_direction: Option<MobileChatDirection>§original_sender_hint: Option<Vec<u8>>The claimed hint of the original’s sender, for a channel group conversation. Inbound group streams are per-member, so matching a wire reference there needs the hint as well as the ID and direction.
body: Option<String>§complete: Option<bool>§present_fragments: Option<u16>§fragment_count: Option<u8>§finalized: Option<bool>§presence: MobileChatPresenceOrdered-slot presence for Insert records (spinner placeholder, real
message, or loss marker). UpdateBody/Edit/Delete leave it at
Present; the host does not reinterpret presence on those.
received_late: boolThe record fills a slot reserved earlier by a gap, so it arrived out of order and should render a “received late” caption.
notify: boolThe host should raise a user notification for this record (single-frame arrival, fragment completion, or notify deadline; never placeholders).
Whether a notification is actually shown remains the host’s decision — a muted conversation still produces records with this set, and still counts as unread.
rx: Option<MobileChatRxMetadataRecord>Radio metadata for the frame that produced this record, when one did.
Trait Implementations§
Source§impl Clone for MobileChatMutationRecord
impl Clone for MobileChatMutationRecord
Source§fn clone(&self) -> MobileChatMutationRecord
fn clone(&self) -> MobileChatMutationRecord
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<UT> ConvertError<UT> for MobileChatMutationRecord
impl<UT> ConvertError<UT> for MobileChatMutationRecord
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for MobileChatMutationRecord
impl Debug for MobileChatMutationRecord
Source§impl<UT> FfiConverter<UT> for MobileChatMutationRecord
impl<UT> FfiConverter<UT> for MobileChatMutationRecord
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Source§impl<UT> Lift<UT> for MobileChatMutationRecord
impl<UT> Lift<UT> for MobileChatMutationRecord
Source§impl<UT> LiftRef<UT> for MobileChatMutationRecord
impl<UT> LiftRef<UT> for MobileChatMutationRecord
Source§impl<UT> LiftReturn<UT> for MobileChatMutationRecord
impl<UT> LiftReturn<UT> for MobileChatMutationRecord
Source§type ReturnType = <MobileChatMutationRecord as Lift<UT>>::FfiType
type ReturnType = <MobileChatMutationRecord as Lift<UT>>::FfiType
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Source§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Source§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Source§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Source§impl<UT> Lower<UT> for MobileChatMutationRecord
impl<UT> Lower<UT> for MobileChatMutationRecord
type FfiType = <MobileChatMutationRecord as FfiConverter<UT>>::FfiType
fn lower(obj: Self) -> Self::FfiType
fn write(obj: Self, buf: &mut Vec<u8>)
Source§fn lower_into_rust_buffer(obj: Self) -> RustBuffer
fn lower_into_rust_buffer(obj: Self) -> RustBuffer
Source§impl<UT> LowerError<UT> for MobileChatMutationRecord
impl<UT> LowerError<UT> for MobileChatMutationRecord
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for MobileChatMutationRecord
impl<UT> LowerReturn<UT> for MobileChatMutationRecord
Source§type ReturnType = <MobileChatMutationRecord as Lower<UT>>::FfiType
type ReturnType = <MobileChatMutationRecord as Lower<UT>>::FfiType
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Source§impl PartialEq for MobileChatMutationRecord
impl PartialEq for MobileChatMutationRecord
Source§impl<UT> TypeId<UT> for MobileChatMutationRecord
impl<UT> TypeId<UT> for MobileChatMutationRecord
impl Eq for MobileChatMutationRecord
impl StructuralPartialEq for MobileChatMutationRecord
Auto Trait Implementations§
impl Freeze for MobileChatMutationRecord
impl RefUnwindSafe for MobileChatMutationRecord
impl Send for MobileChatMutationRecord
impl Sync for MobileChatMutationRecord
impl Unpin for MobileChatMutationRecord
impl UnwindSafe for MobileChatMutationRecord
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.