use std::error::Error;
use std::time::Duration;
use tcb::broadcast::broadcast_trait::TCB;
use tcb::configuration::middleware_configuration::read_configuration_file;
use tcb::vv::version_vector::VV;
fn main() -> Result<(), Box<dyn Error>> {
let configuration_file = format!("path-to-config-file.toml");
let configuration = read_configuration_file(configuration_file)?;
let id: usize = 0;
let port: usize = 61887;
let group_addresses = vec![format!("localhost:61888")];
let mut vv = VV::new(id, port, group_addresses, configuration);
let message = format!("Hello world");
let serialized_message = message.into_bytes();
let _ = vv.send(serialized_message);
let blocking_delivery = vv.recv()?;
let non_blocking_delivery = vv.try_recv()?;
let timeout_delivery = vv.recv_timeout(Duration::from_secs(1))?;
Ok(())
}