[][src]Struct ciph::salsa::Connector

pub struct Connector { /* fields omitted */ }

Take a Psk and Randomness and apply over an S: AsyncRead + AsyncWrite type prodcuing a SalsaStream.

Connecting is done by producing a new write key for the server end of the connection and transmitting it along with the check value in the Psk. Initial encryption is done by the WrapKey in the Psk. On return the server should transmit it's generated write key. The sent write key becomes the SalsaStream read key and the received write key is the SalsaStream write key.

The current unix timestamp is used for nonce on the initial Salsa20 cipher. Server and client must have their time synchronized.

Implementations

impl Connector[src]

pub fn new(psk: Psk, randomness: Randomness) -> Self[src]

pub async fn connect<S>(&self, stream: S) -> Result<SalsaStream<S>> where
    S: AsyncRead + AsyncWrite + Unpin
[src]

Apply Salsa20 encryption over the inputted stream.

Trait Implementations

impl Clone for Connector[src]

impl Debug for Connector[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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