1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use std::fmt::Debug;
use serde::{Serialize, Deserialize};
use cs_utils::{random_number, traits::Random, random_str, random_str_rg};
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub enum TestStreamMessage {
Ping(String),
Pong(Option<String>, String),
Data(Vec<u8>),
Eof,
}
impl Random for TestStreamMessage {
fn random() -> TestStreamMessage {
return match random_number(0..=u16::MAX) % 4 {
0 => TestStreamMessage::Ping(random_str_rg(16..=32)),
1 => TestStreamMessage::Pong(Some(random_str(32)), random_str_rg(32..=64)),
2 => TestStreamMessage::Data(random_str_rg(8..=256).as_bytes().to_vec()),
3 => TestStreamMessage::Eof,
_ => unreachable!(),
};
}
}