Skip to main content

DeviceCommand

Enum DeviceCommand 

Source
pub enum DeviceCommand {
Show 19 variants SetId(Option<Jid>), SetLid(Option<Jid>), SetPushName(String), SetAccount(Option<ADVSignedDeviceIdentity>), SetAppVersion((u32, u32, u32)), SetDeviceProps(DevicePropsOverride), SetClientProfile(ClientProfile), SetPropsHash(Option<String>), SetPreKeyWatermarks { next_pre_key_id: u32, first_unupload_pre_key_id: u32, }, SetAdvSecretKey([u8; 32]), SetNctSalt(Option<Vec<u8>>), SetNctSaltFromHistorySync(Vec<u8>), SetServerCertChain(CachedServerCertChain), ClearServerCertChain, IncrementLoginCounter, SetLidMigrated(bool), SetSignedPreKey { key_pair: KeyPair, id: u32, signature: [u8; 64], rotation_ms: i64, }, SetSignedPreKeyRotationBaseline(i64), SetReadReceiptsDisabled(bool),
}

Variants§

§

SetId(Option<Jid>)

§

SetLid(Option<Jid>)

§

SetPushName(String)

§

SetAccount(Option<ADVSignedDeviceIdentity>)

§

SetAppVersion((u32, u32, u32))

§

SetDeviceProps(DevicePropsOverride)

§

SetClientProfile(ClientProfile)

§

SetPropsHash(Option<String>)

§

SetPreKeyWatermarks

Update both prekey watermarks in one command, so a generation-time NEXT advance and a FIRST init/advance can never be observed split. The watermarks have no single-field setter on purpose: split updates are how the pre-watermark model lost track of generated keys.

Fields

§next_pre_key_id: u32
§first_unupload_pre_key_id: u32
§

SetAdvSecretKey([u8; 32])

§

SetNctSalt(Option<Vec<u8>>)

§

SetNctSaltFromHistorySync(Vec<u8>)

§

SetServerCertChain(CachedServerCertChain)

Cache the server cert chain extracted from a successful XX (or XX-fallback) handshake. Enables Noise IK on the next connect.

§

ClearServerCertChain

Drop the cached server cert chain (e.g. after IK fails with a crypto-fatal error, signalling that the cached leaf.key is stale). Forces XX on the next connect.

§

IncrementLoginCounter

Bump the persisted lc (login counter) ahead of a login payload.

§

SetLidMigrated(bool)

Set the account’s 1:1-LID-migrated state. Runtime paths only ever set true, like WA Web’s WAIsAccountLidFieldMigrated pref; false is reserved for pair-success, where a fresh pairing must not inherit the previous account’s migration state.

§

SetSignedPreKey

Install a freshly rotated signed pre-key (WA Web RotateKeyJob). Sets the current key trio and stamps the rotation clock in one command so the key and its cadence baseline can never be observed split.

Fields

§key_pair: KeyPair
§id: u32
§signature: [u8; 64]
§rotation_ms: i64
§

SetSignedPreKeyRotationBaseline(i64)

Seed the rotation cadence baseline without touching the key. Used once for devices upgraded in with last_signed_pre_key_rotation_ms == 0, so the first rotation is scheduled a full interval out rather than firing immediately on the next connect.

§

SetReadReceiptsDisabled(bool)

Set whether readreceipts privacy is none. true routes DM read/played receipts through the *-self types.

Trait Implementations§

Source§

impl Clone for DeviceCommand

Source§

fn clone(&self) -> DeviceCommand

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DeviceCommand

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> AggregateExpressionMethods for T

Source§

fn aggregate_distinct(self) -> Self::Output
where Self: DistinctDsl,

DISTINCT modifier for aggregate functions Read more
Source§

fn aggregate_all(self) -> Self::Output
where Self: AllDsl,

ALL modifier for aggregate functions Read more
Source§

fn aggregate_filter<P>(self, f: P) -> Self::Output
where P: AsExpression<Bool>, Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,

Add an aggregate function filter Read more
Source§

fn aggregate_order<O>(self, o: O) -> Self::Output
where Self: OrderAggregateDsl<O>,

Add an aggregate function order Read more
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &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)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoSql for T

Source§

fn into_sql<T>(self) -> Self::Expression

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
Source§

impl<T> MaybeSend for T
where T: Send + ?Sized,

Source§

impl<T> MaybeSendSync for T
where T: Send + Sync + ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Spawnable for T
where T: Send + 'static,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WindowExpressionMethods for T

Source§

fn over(self) -> Self::Output
where Self: OverDsl,

Turn a function call into a window function call Read more
Source§

fn window_filter<P>(self, f: P) -> Self::Output
where P: AsExpression<Bool>, Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,

Add a filter to the current window function Read more
Source§

fn partition_by<E>(self, expr: E) -> Self::Output
where Self: PartitionByDsl<E>,

Add a partition clause to the current window function Read more
Source§

fn window_order<E>(self, expr: E) -> Self::Output
where Self: OrderWindowDsl<E>,

Add a order clause to the current window function Read more
Source§

fn frame_by<E>(self, expr: E) -> Self::Output
where Self: FrameDsl<E>,

Add a frame clause to the current window function Read more