From eb691ea4324c958a3644e272527ce08003abb714 Mon Sep 17 00:00:00 2001 From: arpadav Date: Tue, 19 Nov 2024 14:55:27 -0500 Subject: [PATCH 1/4] remove clap (unused), update semver on all, add 'url' feature of tungstenite (optional as of 0.22) --- Cargo.toml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6c3bcb18..9e79858a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,15 +21,14 @@ path = "src/lib.rs" [dependencies] hex = "0.4" -hmac = "0.12.1" -sha2 = "0.10.8" -serde = { version = "1.0.197", features = ["derive"] } +hmac = "0.12" +sha2 = "0.10" +serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -error-chain = { version = "0.12.4", default-features = false } -reqwest = { version = "0.11.24", features = ["blocking", "json"] } -tungstenite = { version = "0.21.0", features = ["native-tls"] } -url = "2.5.0" -clap = "4.5.2" +error-chain = { version = "0.12", default-features = false } +reqwest = { version = "0.12", features = ["blocking", "json"] } +tungstenite = { version = "0.24", features = ["native-tls", "url"] } +url = "2.5" [features] vendored-tls = [ @@ -38,11 +37,11 @@ vendored-tls = [ ] [dev-dependencies] -csv = "1.3.0" -mockito = "1.4.0" -env_logger = "0.11.2" +csv = "1.3" +mockito = "1.4" +env_logger = "0.11" criterion = "0.5" -float-cmp = "0.9.0" +float-cmp = "0.10" serde_json = "1.0" [[bench]] From ed0e5fc3d2fd7c3d57f1c043dc64074af864a2b6 Mon Sep 17 00:00:00 2001 From: arpadav Date: Tue, 19 Nov 2024 15:00:07 -0500 Subject: [PATCH 2/4] updated tungstenite fn call, {x}_message(..) is deprecated --- src/futures/websockets.rs | 4 ++-- src/websockets.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/futures/websockets.rs b/src/futures/websockets.rs index 323f0455..a98a4268 100755 --- a/src/futures/websockets.rs +++ b/src/futures/websockets.rs @@ -194,7 +194,7 @@ impl<'a> FuturesWebSockets<'a> { pub fn event_loop(&mut self, running: &AtomicBool) -> Result<()> { while running.load(Ordering::Relaxed) { if let Some(ref mut socket) = self.socket { - let message = socket.0.read_message()?; + let message = socket.0.read()?; match message { Message::Text(msg) => { if let Err(e) = self.handle_msg(&msg) { @@ -202,7 +202,7 @@ impl<'a> FuturesWebSockets<'a> { } } Message::Ping(payload) => { - socket.0.write_message(Message::Pong(payload)).unwrap(); + socket.0.send(Message::Pong(payload)).unwrap(); } Message::Pong(_) | Message::Binary(_) | Message::Frame(_) => (), Message::Close(e) => bail!(format!("Disconnected {:?}", e)), diff --git a/src/websockets.rs b/src/websockets.rs index 15f2fdd2..09410d8c 100644 --- a/src/websockets.rs +++ b/src/websockets.rs @@ -153,7 +153,7 @@ impl<'a> WebSockets<'a> { pub fn event_loop(&mut self, running: &AtomicBool) -> Result<()> { while running.load(Ordering::Relaxed) { if let Some(ref mut socket) = self.socket { - let message = socket.0.read_message()?; + let message = socket.0.read()?; match message { Message::Text(msg) => { if let Err(e) = self.handle_msg(&msg) { @@ -161,7 +161,7 @@ impl<'a> WebSockets<'a> { } } Message::Ping(payload) => { - socket.0.write_message(Message::Pong(payload)).unwrap(); + socket.0.send(Message::Pong(payload)).unwrap(); } Message::Pong(_) | Message::Binary(_) | Message::Frame(_) => (), Message::Close(e) => bail!(format!("Disconnected {:?}", e)), From 0b962653a49fdba5b97d7c43accd72e60b6177d5 Mon Sep 17 00:00:00 2001 From: arpadav Date: Tue, 19 Nov 2024 15:00:44 -0500 Subject: [PATCH 3/4] proper use of bail: macro expansion already returns --- src/account.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/account.rs b/src/account.rs index cdd71a98..402550e7 100644 --- a/src/account.rs +++ b/src/account.rs @@ -760,7 +760,7 @@ impl Account { S: Into, { if !is_start_time_valid(&start_time) { - return bail!("Start time should be less than the current time"); + bail!("Start time should be less than the current time"); } let mut parameters: BTreeMap = BTreeMap::new(); @@ -777,10 +777,10 @@ impl Account { S: Into, { if end_time <= start_time { - return bail!("End time should be greater than start time"); + bail!("End time should be greater than start time"); } if !is_start_time_valid(&start_time) { - return bail!("Start time should be less than the current time"); + bail!("Start time should be less than the current time"); } self.get_trades(symbol, start_time, end_time) } From 7c1bf621a57fc58975e6e558beecbcf860d86751 Mon Sep 17 00:00:00 2001 From: arpadav Date: Tue, 19 Nov 2024 15:00:55 -0500 Subject: [PATCH 4/4] branchless time check --- src/util.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/util.rs b/src/util.rs index cd1ea1ba..0f86c72a 100644 --- a/src/util.rs +++ b/src/util.rs @@ -48,10 +48,5 @@ fn get_timestamp(start: SystemTime) -> Result { pub fn is_start_time_valid(start_time: &u64) -> bool { let current_time = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs(); - - if start_time > ¤t_time { - false - } else { - true - } + return start_time <= ¤t_time; } \ No newline at end of file