pub struct ProteusPrekey {
pub id: u16,
pub prekey: Vec<u8>,
}Expand description
Entity representing a stored Proteus prekey.
This entity cannot be updated in the DB. A prekey id is published to peers in a prekey bundle,
and overwriting the prekey it names would leave those peers holding a bundle no session can be
established from. A save under an id which is already taken therefore reports
CryptoKeystoreError::AlreadyExists rather than replacing the stored prekey.
Fields§
§id: u16§prekey: Vec<u8>Implementations§
Source§impl ProteusPrekey
impl ProteusPrekey
pub fn from_raw(id: u16, prekey: Vec<u8>) -> Self
Sourcepub fn get_free_id(conn: &Connection) -> CryptoKeystoreResult<u16>
pub fn get_free_id(conn: &Connection) -> CryptoKeystoreResult<u16>
Get the lowest free prekey id.
Ids freed by deletion are handed out before the id space is extended.
Returns CryptoKeystoreError::NoFreePrekeyId if every assignable id is taken.
Trait Implementations§
Source§impl Clone for ProteusPrekey
impl Clone for ProteusPrekey
Source§fn clone(&self) -> ProteusPrekey
fn clone(&self) -> ProteusPrekey
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ProteusPrekey
impl Debug for ProteusPrekey
Source§impl<'de> Deserialize<'de> for ProteusPrekey
impl<'de> Deserialize<'de> for ProteusPrekey
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
Source§impl Entity for ProteusPrekey
impl Entity for ProteusPrekey
Source§const TABLE_NAME: &'static str = "proteus_prekeys"
const TABLE_NAME: &'static str = "proteus_prekeys"
The name of the SQL table for this entity
Source§fn get(conn: &Connection, key: &u16) -> CryptoKeystoreResult<Option<Self>>
fn get(conn: &Connection, key: &u16) -> CryptoKeystoreResult<Option<Self>>
Get an entity by its primary key. Read more
Source§fn count(conn: &Connection) -> CryptoKeystoreResult<u32>
fn count(conn: &Connection) -> CryptoKeystoreResult<u32>
Count the number of entities of this type in the database.
Source§fn load_all(conn: &Connection) -> CryptoKeystoreResult<Vec<Self>>
fn load_all(conn: &Connection) -> CryptoKeystoreResult<Vec<Self>>
Retrieve all entities of this type from the database.
Source§impl EntityDatabaseMutation for ProteusPrekey
impl EntityDatabaseMutation for ProteusPrekey
Source§impl PartialEq for ProteusPrekey
impl PartialEq for ProteusPrekey
Source§fn eq(&self, other: &ProteusPrekey) -> bool
fn eq(&self, other: &ProteusPrekey) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl PrimaryKey for ProteusPrekey
impl PrimaryKey for ProteusPrekey
Source§type PrimaryKey = u16
type PrimaryKey = u16
Each distinct
PrimaryKey uniquely identifies either 0 or 1 instance. Read moreSource§fn primary_key(&self) -> u16
fn primary_key(&self) -> u16
Get this entity’s primary key. Read more
Source§impl Serialize for ProteusPrekey
impl Serialize for ProteusPrekey
Source§impl Zeroize for ProteusPrekey
impl Zeroize for ProteusPrekey
impl Eq for ProteusPrekey
impl StructuralPartialEq for ProteusPrekey
Auto Trait Implementations§
impl Freeze for ProteusPrekey
impl RefUnwindSafe for ProteusPrekey
impl Send for ProteusPrekey
impl Sync for ProteusPrekey
impl Unpin for ProteusPrekey
impl UnsafeUnpin for ProteusPrekey
impl UnwindSafe for ProteusPrekey
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.