webrtc-util 0.1.13

Utilities for WebRTC.rs stack
Documentation
use super::conn_pipe::*;
use super::*;

#[tokio::test]
async fn test_pipe() -> Result<()> {
    let (c1, c2) = pipe();
    let mut b1 = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    let n = c1.send(&b1).await?;
    assert_eq!(n, 10);

    let mut b2 = vec![133; 100];
    let n = c2.recv(&mut b2).await?;
    assert_eq!(n, 10);
    assert_eq!(&b2[..n], &b1[..]);

    let n = c2.send(&b2[..10]).await?;
    assert_eq!(n, 10);
    let n = c2.send(&b2[..5]).await?;
    assert_eq!(n, 5);

    let n = c1.recv(&mut b1).await?;
    assert_eq!(n, 10);
    let n = c1.recv(&mut b1).await?;
    assert_eq!(n, 5);

    Ok(())
}