core_crypto::proteus

Struct ProteusCentral

source
pub struct ProteusCentral { /* private fields */ }
Expand description

Proteus counterpart of crate::mls::MlsCentral

The big difference is that ProteusCentral doesn’t own its own keystore but must borrow it from the outside. Whether it’s exclusively for this struct’s purposes or it’s shared with our main struct, crate::mls::MlsCentral

Implementations§

source§

impl ProteusCentral

source

pub async fn try_new(keystore: &CryptoKeystore) -> CryptoResult<Self>

Initializes the ProteusCentral

source

pub async fn session_from_prekey( &mut self, session_id: &str, key: &[u8], ) -> CryptoResult<Arc<RwLock<ProteusConversationSession>>>

Creates a new session from a prekey

source

pub fn last_resort_prekey_id() -> u16

Returns the Proteus last resort prekey ID (u16::MAX = 65535 = 0xFFFF)

source

pub fn identity(&self) -> &IdentityKeyPair

Proteus identity keypair

source

pub fn fingerprint(&self) -> String

Proteus Public key hex-encoded fingerprint

source

pub fn fingerprint_prekeybundle(prekey: &[u8]) -> CryptoResult<String>

Hex-encoded fingerprint of the given prekey

§Errors

If the prekey cannot be deserialized

Trait Implementations§

source§

impl Debug for ProteusCentral

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

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

§

impl<T> MaybeSendSync for T