use crate::scenario::Scenario;
use crossbeam_channel::Receiver;
pub mod fuzzy_request_generator;
pub mod hyper;
pub mod reqwest_generator;
pub trait TrafficGenerator<T: Scenario>: Send + Sync {
fn get_data_rate_channel(&self) -> Receiver<(f32, f32)>;
fn get_sent_packets_channel(&self) -> Receiver<usize>;
fn get_error_rate_channel(&self) -> Receiver<(f32, f32)>;
fn send_packet(&mut self);
fn set_scenario(&mut self, schem: T);
fn get_scenario(&self) -> &T;
fn run_scenario(&mut self);
fn fire_hose(&mut self);
}
#[derive(Clone, Debug)]
pub struct HttpConfig {
pub url: String,
pub method: String,
pub body: String,
}