diff options
| author | Yuval Adam <_@yuv.al> | 2022-05-12 20:47:23 +0300 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2022-05-12 20:47:23 +0300 |
| commit | bf1d7c7570fd405807245dbc0fb0bad39e86de47 (patch) | |
| tree | fa08b1dd407543f56bf8a452069ef929c0d59e85 /src/main.rs | |
| parent | fc453b7413fdb598791d30e88e6c7b7571b34693 (diff) | |
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index b125a3e..1777a5c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,35 @@ +extern crate chrono; extern crate ping; +extern crate sqlite; +use std::thread; use std::time::{Duration,Instant}; +use chrono::prelude::*; fn main() { - let addr = "8.8.8.8".parse().unwrap(); + let connection = sqlite::open(":memory:").unwrap(); + + connection.execute( + " + CREATE TABLE pings (ip TEXT, timestamp TEXT, ping REAL); + ", + ).unwrap(); + + let addrstr = "8.8.8.8"; + let addr = addrstr.parse().unwrap(); let timeout = Duration::from_secs(1); - let now = Instant::now(); - ping::ping(addr, Some(timeout), Some(166), Some(3), Some(5), None).unwrap(); - let new_now = Instant::now(); - println!("{:?}", new_now.duration_since(now)); + + for i in 1..10 { + let now = Instant::now(); + ping::ping(addr, Some(timeout), Some(166), Some(3), Some(i), None).unwrap(); + let new_now = Instant::now(); + let local: DateTime<Local> = Local::now(); + + connection.execute( + format!("INSERT INTO pings VALUES ('{}', '{}', {});", addrstr, local, new_now.duration_since(now).as_micros()), + ).unwrap(); + println!("{} {} {}", addrstr, local, new_now.duration_since(now).as_micros()); + thread::sleep(Duration::from_secs(1)); + } + } |
