|
|
|
#[cfg(feature = "std")]
|
|
|
|
use ironforce::interface::Interface;
|
|
|
|
#[cfg(feature = "std")]
|
|
|
|
use ironforce::interfaces::ip::IPInterface;
|
|
|
|
#[cfg(feature = "std")]
|
|
|
|
use std::net;
|
|
|
|
use std::thread;
|
|
|
|
use std::time::Duration;
|
|
|
|
#[cfg(feature = "std")]
|
|
|
|
use ironforce::res::IFResult;
|
|
|
|
|
|
|
|
#[cfg(feature = "std")]
|
|
|
|
fn main() {
|
|
|
|
println!("hello");
|
|
|
|
test();
|
|
|
|
}
|
|
|
|
|
|
|
|
fn test() -> IFResult<()> {
|
|
|
|
let message = *b"Hello world from iron forest";
|
|
|
|
|
|
|
|
let mut interface1 = IPInterface::new()?;
|
|
|
|
let mut interface2 = IPInterface::new()?;
|
|
|
|
|
|
|
|
let t1 = std::thread::spawn(move || {
|
|
|
|
interface1.send(&message, Some(String::from("127.0.0.1:50001"))).unwrap();
|
|
|
|
interface1
|
|
|
|
});
|
|
|
|
thread::sleep(Duration::from_millis(10));
|
|
|
|
let t2 = std::thread::spawn(move || {
|
|
|
|
|
|
|
|
interface2.main_loop_iteration().unwrap();
|
|
|
|
interface2
|
|
|
|
});
|
|
|
|
let res1 = t1.join();
|
|
|
|
match res1 {
|
|
|
|
Ok(_) => println!("Ok"),
|
|
|
|
Err(e) => println!("{:?}", e)
|
|
|
|
}
|
|
|
|
let res2 = t2.join();
|
|
|
|
match res2 {
|
|
|
|
Ok(_) => println!("Ok"),
|
|
|
|
Err(e) => println!("{:?}", e)
|
|
|
|
}
|
|
|
|
Ok(())
|
|
|
|
}
|
|
|
|
|
|
|
|
#[cfg(not(feature = "std"))]
|
|
|
|
fn main() {}
|