diff --git a/Cargo.lock b/Cargo.lock index 228fc681d4a..88544f30d3e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2025,7 +2025,6 @@ dependencies = [ name = "massa_network_worker" version = "0.1.0" dependencies = [ - "async-speed-limit", "enum-map", "futures 0.3.24", "itertools", diff --git a/massa-network-worker/Cargo.toml b/massa-network-worker/Cargo.toml index 0e43d13fc24..73169728238 100644 --- a/massa-network-worker/Cargo.toml +++ b/massa-network-worker/Cargo.toml @@ -7,7 +7,6 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -async-speed-limit = { git = "https://github.com/adrien-zinger/async-speed-limit", rev = "36d79e0", features = ["default", "tokio"] } enum-map = { version = "2.4", features = ["serde"] } futures = "0.3" itertools = "0.10" diff --git a/massa-network-worker/src/binders.rs b/massa-network-worker/src/binders.rs index e7ec3c55e49..72ea94035c0 100644 --- a/massa-network-worker/src/binders.rs +++ b/massa-network-worker/src/binders.rs @@ -4,7 +4,6 @@ use crate::messages::{MessageDeserializer, MessageSerializer}; use super::messages::Message; -use async_speed_limit::{clock::StandardClock, Limiter, Resource}; use massa_models::{ error::ModelsError, serialization::{DeserializeMinBEInt, SerializeMinBEInt}, @@ -18,7 +17,7 @@ use tracing::warn; /// Used to serialize and send data. pub struct WriteBinder { - write_half: Resource, + write_half: WriteHalf, message_index: u64, max_message_size: u32, } @@ -29,9 +28,9 @@ impl WriteBinder { /// # Argument /// * `write_half`: writer half. /// * `limit`: limit max bytes per second write - pub fn new(write_half: WriteHalf, limit: f64, max_message_size: u32) -> Self { + pub fn new(write_half: WriteHalf, _limit: f64, max_message_size: u32) -> Self { WriteBinder { - write_half: ::new(limit).limit(write_half), + write_half, message_index: 0, max_message_size, } @@ -65,7 +64,7 @@ impl WriteBinder { /// Used to receive and deserialize data. pub struct ReadBinder { - read_half: Resource, + read_half: ReadHalf, message_index: u64, buf: Vec, cursor: usize, @@ -82,12 +81,12 @@ impl ReadBinder { /// * `limit`: limit max bytes per second read. pub fn new( read_half: ReadHalf, - limit: f64, + _limit: f64, max_message_size: u32, message_deserializer: MessageDeserializer, ) -> Self { ReadBinder { - read_half: ::new(limit).limit(read_half), + read_half, message_index: 0, buf: Vec::new(), cursor: 0, diff --git a/massa-protocol-worker/src/protocol_worker.rs b/massa-protocol-worker/src/protocol_worker.rs index 05e9597c7a1..cf82bd122a3 100644 --- a/massa-protocol-worker/src/protocol_worker.rs +++ b/massa-protocol-worker/src/protocol_worker.rs @@ -338,6 +338,13 @@ impl ProtocolWorker { async fn announce_ops(&mut self, timer: &mut Pin<&mut Sleep>) { // Quit if empty to avoid iterating on nodes if self.operations_to_announce.is_empty() { + // Reset timer. + let now = Instant::now(); + let next_tick = now + .checked_add(self.config.operation_announcement_interval.into()) + // .ok_or(TimeError::TimeOverflowError)?; + .unwrap(); + timer.set(sleep_until(next_tick)); return; } let operation_ids = mem::take(&mut self.operations_to_announce);