summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2022-05-12 20:47:23 +0300
committerYuval Adam <_@yuv.al>2022-05-12 20:47:23 +0300
commitbf1d7c7570fd405807245dbc0fb0bad39e86de47 (patch)
treefa08b1dd407543f56bf8a452069ef929c0d59e85 /src
parentfc453b7413fdb598791d30e88e6c7b7571b34693 (diff)
Build and insert into sqlite table, loop 10 timesHEADmain
Diffstat (limited to 'src')
-rw-r--r--src/main.rs33
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));
+ }
+
}