From 46658913163aab75e97f5b70c7e5412713b7ea51 Mon Sep 17 00:00:00 2001 From: Nikolaos Karaolidis Date: Mon, 19 Feb 2024 17:51:44 +0000 Subject: [PATCH] Fix error on initialization with no symbols Signed-off-by: Nikolaos Karaolidis --- src/threads/data/mod.rs | 7 ++++++- src/threads/data/websocket.rs | 5 +++++ src/types/alpaca/api/incoming/position.rs | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/threads/data/mod.rs b/src/threads/data/mod.rs index 322d16f..9822fda 100644 --- a/src/threads/data/mod.rs +++ b/src/threads/data/mod.rs @@ -142,6 +142,11 @@ async fn handle_message( news_backfill_sender: mpsc::Sender, message: Message, ) { + if message.assets.is_empty() { + message.response.send(()).unwrap(); + return; + } + let (us_equity_symbols, crypto_symbols): (Vec<_>, Vec<_>) = message .assets .clone() @@ -233,8 +238,8 @@ async fn handle_message( let position_future = async { alpaca::api::incoming::position::get_by_symbol( - &config.alpaca_rate_limiter, &config.alpaca_client, + &config.alpaca_rate_limiter, &symbol, Some(backoff::infinite()), ) diff --git a/src/threads/data/websocket.rs b/src/threads/data/websocket.rs index a009455..9f7d6fd 100644 --- a/src/threads/data/websocket.rs +++ b/src/threads/data/websocket.rs @@ -128,6 +128,11 @@ async fn handle_message( sink: Arc>, tungstenite::Message>>>, message: Message, ) { + if message.symbols.is_empty() { + message.response.send(()).unwrap(); + return; + } + match message.action { Some(Action::Subscribe) => { let (pending_subscriptions, receivers): (Vec<_>, Vec<_>) = message diff --git a/src/types/alpaca/api/incoming/position.rs b/src/types/alpaca/api/incoming/position.rs index 3371fdc..7e29fb6 100644 --- a/src/types/alpaca/api/incoming/position.rs +++ b/src/types/alpaca/api/incoming/position.rs @@ -102,8 +102,8 @@ pub async fn get( } pub async fn get_by_symbol( - alpaca_rate_limiter: &DefaultDirectRateLimiter, alpaca_client: &Client, + alpaca_rate_limiter: &DefaultDirectRateLimiter, symbol: &str, backoff: Option, ) -> Result, reqwest::Error> {