Struct secret_stream::Server
[−]
[src]
pub struct Server<'a, S>(_);
A future that accepts a secret-handshake and then yields a channel that encrypts/decrypts all data via box-stream.
Methods
impl<'a, S: AsyncRead + AsyncWrite> Server<'a, S>
[src]
pub fn new(
stream: S,
network_identifier: &'a [u8; 32],
server_longterm_pk: &'a PublicKey,
server_longterm_sk: &'a SecretKey,
server_ephemeral_pk: &'a PublicKey,
server_ephemeral_sk: &'a SecretKey
) -> Server<'a, S>
[src]
stream: S,
network_identifier: &'a [u8; 32],
server_longterm_pk: &'a PublicKey,
server_longterm_sk: &'a SecretKey,
server_ephemeral_pk: &'a PublicKey,
server_ephemeral_sk: &'a SecretKey
) -> Server<'a, S>
Create a new Server
to accept a connection from a client which knows
the server's public key and uses the right app key over the given
stream
.
Ephemeral keypairs can be generated via
sodiumoxide::crypto::box_::gen_keypair
.
Trait Implementations
impl<'a, S: AsyncRead + AsyncWrite> Future for Server<'a, S>
[src]
type Item = (BoxDuplex<S>, PublicKey)
On success, the result contains the encrypted connection and the longterm public key of the client.
type Error = (HandshakeError, S)
An error
fn poll(&mut self, cx: &mut Context) -> Poll<Self::Item, Self::Error>
[src]
Attempt to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more