Skip to main content

NoiseTransport

Struct NoiseTransport 

Source
pub struct NoiseTransport { /* private fields */ }
Expand description

Established, serialized Noise transport capability.

Native code retains WebSocket, reachability, reconnect, and shutdown ownership. Each method advances the authenticated nonce exactly once.

Implementations§

Source§

impl NoiseTransport

Source

pub const fn chunking_enabled(&self) -> bool

Whether both peers negotiated the deployed chunking extension.

Source

pub fn encrypt(&self, plaintext: Vec<u8>) -> Result<Vec<Vec<u8>>, SoftchatError>

Encrypt one logical WebSocket message into one or more ordered frames.

§Errors

Returns a stable redacted error after close, on nonce exhaustion, or when the bounded deployed profile rejects the message.

Source

pub fn decrypt( &self, ciphertext: Vec<u8>, ) -> Result<Option<Vec<u8>>, SoftchatError>

Authenticate one encrypted frame.

Returns None while an authenticated chunked message remains incomplete and Some only after the complete logical message exists.

§Errors

Returns a stable redacted error after close or on any authentication, ordering, nonce, size, or chunking failure.

Source

pub fn shutdown(&self)

Irreversibly zeroize and close this transport capability.

Trait Implementations§

Source§

impl Debug for NoiseTransport

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<UT> LiftRef<UT> for NoiseTransport

Source§

impl<UT> LowerError<UT> for NoiseTransport

Source§

fn lower_error(obj: Self) -> RustBuffer

Lower this value for scaffolding function return Read more
Source§

impl<UT> LowerReturn<UT> for NoiseTransport

Source§

type ReturnType = <Arc<NoiseTransport> as LowerReturn<UniFfiTag>>::ReturnType

The type that should be returned by scaffolding functions for this type. Read more
Source§

fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>

Lower the return value from an scaffolding call Read more
§

fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>

Lower the return value for failed argument lifts Read more
Source§

impl<UT> TypeId<UT> for NoiseTransport

Source§

const TYPE_ID_META: MetadataBuffer

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> 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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,