From bea04cf7382731b17a4874bfa71fbe669bbe0316 Mon Sep 17 00:00:00 2001 From: Dave Hrycyszyn Date: Mon, 2 Dec 2019 13:50:57 +0000 Subject: [PATCH] Sending continuous stream of packets in a loop. --- src/main.rs | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/main.rs b/src/main.rs index b44d8dd838..4cf3bae6b9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,24 +4,33 @@ use tokio::prelude::*; use crate::clients::mix::MixClient; use crate::clients::directory::DirectoryClient; +use std::time::{ Duration}; +use tokio::time::{interval_at, Instant}; #[tokio::main] async fn main() { - let message = "Hello, Sphinx!".as_bytes().to_vec(); + let start = Instant::now() + Duration::from_nanos(1000); + let mut interval = interval_at(start, Duration::from_nanos(1000)); + let mut i = 0; + loop { + interval.tick().await; + let message = format!("Hello, Sphinx {}", i).as_bytes().to_vec(); - // set up the route - let directory = DirectoryClient::new(); - let route = directory.get_mixes(); - let destination = directory.get_destination(); - let delays = sphinx::header::delays::generate(2); + // set up the route + let directory = DirectoryClient::new(); + let route = directory.get_mixes(); + let destination = directory.get_destination(); + let delays = sphinx::header::delays::generate(2); - // build the packet - let packet = sphinx::SphinxPacket::new(message, &route[..], &destination, &delays).unwrap(); + // build the packet + let packet = sphinx::SphinxPacket::new(message, &route[..], &destination, &delays).unwrap(); - // send to mixnet - let mix_client = MixClient::new(); - let result = mix_client.send(packet, route.first().unwrap()).await; - println!("packet sent"); + // send to mixnet + let mix_client = MixClient::new(); + let result = mix_client.send(packet, route.first().unwrap()).await; + println!("packet sent: {:?}", i); + i += 1; + } }