sheave_core::writers

Function write_handshake

Source
pub fn write_handshake<'a, W: AsyncWrite>(
    writer: Pin<&'a mut W>,
    handshake: &'a Handshake,
) -> HandshakeWriter<'a, W>
Expand description

Writes actual handshake data into streams.

ยงExamples

use std::{
    io::Result as IOResult,
    pin::{
        Pin,
        pin
    },
    time::Duration
};
use sheave_core::{
    handshake::{
        Handshake,
        Version
    },
    writers::write_handshake
};

#[tokio::main]
async fn main() -> IOResult<()> {
    let mut writer: Pin<&mut Vec<u8>> = pin!(Vec::new());
    let handshake = Handshake::new(Duration::default(), Version::UNSIGNED);
    write_handshake(writer.as_mut(), &handshake).await?;
    assert_eq!(handshake.get_bytes(), writer.as_slice());
    Ok(())
}