2 releases
0.1.2 | Oct 13, 2018 |
---|---|
0.1.0 | Aug 14, 2018 |
#118 in #simulator
Used in oni
41KB
1K
SLoC
use oni_simulator::{Simulator, DefaultMTU};
use std::io;
let sim = Simulator::<DefaultMTU>::new();
let from = "[::1]:1111".parse().unwrap();
let to = "[::1]:2222".parse().unwrap();
let from = sim.add_socket(from);
let to = sim.add_socket(to);
from.send_to(&[1, 2, 3], to.local_addr()).unwrap();
sim.advance();
let mut buf = [0u8; 4];
let (bytes, addr) = to.recv_from(&mut buf[..]).unwrap();
assert_eq!(bytes, 3);
assert_eq!(addr, from.local_addr());
assert_eq!(&buf[..bytes], &[1, 2, 3]);
let err = to.recv_from(&mut buf[..]).unwrap_err();
assert_eq!(err.kind(), io::ErrorKind::WouldBlock)
lib.rs
:
Example
use oni_simulator::{Simulator, DefaultMTU};
use std::io;
let sim = Simulator::<DefaultMTU>::new();
let from = "[::1]:1111".parse().unwrap();
let to = "[::1]:2222".parse().unwrap();
let from = sim.add_socket(from);
let to = sim.add_socket(to);
from.send_to(&[1, 2, 3], to.local_addr()).unwrap();
sim.advance();
let mut buf = [0u8; 4];
let (bytes, addr) = to.recv_from(&mut buf[..]).unwrap();
assert_eq!(bytes, 3);
assert_eq!(addr, from.local_addr());
assert_eq!(&buf[..bytes], &[1, 2, 3]);
let err = to.recv_from(&mut buf[..]).unwrap_err();
assert_eq!(err.kind(), io::ErrorKind::WouldBlock);
Dependencies
~2.7–4MB
~77K SLoC