use structopt::StructOpt;
use yarws::{connect, Error};
#[derive(StructOpt, Debug)]
struct Args {
#[structopt(default_value = "ws://127.0.0.1:9001")]
url: String,
}
#[tokio::main]
async fn main() -> Result<(), Error> {
let args = Args::from_args();
let mut socket = connect(&args.url).await?.into_text();
let data = "01234567890abcdefghijklmnopqrstuvwxyz"; let sizes = vec![1, 36, 125, 126, 127];
for size in sizes {
let rep = size / data.len() + 1;
let req = &data.repeat(rep)[0..size];
socket.send(req).await?; let rsp = socket.try_recv().await?; assert_eq!(req, rsp);
}
Ok(())
}