Add order types

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-02-12 16:45:11 +00:00
parent dee21d5324
commit 5961717520
47 changed files with 840 additions and 145 deletions

View File

@@ -8,7 +8,7 @@ use crate::{
},
create_send_await, database,
types::{alpaca, Asset, Class},
utils::{authenticate, backoff, cleanup},
utils::{backoff, cleanup},
};
use futures_util::{future::join_all, StreamExt};
use itertools::{Either, Itertools};
@@ -19,7 +19,7 @@ use tokio::{
};
use tokio_tungstenite::connect_async;
#[derive(Clone)]
#[derive(Clone, Copy)]
pub enum Action {
Add,
Remove,
@@ -45,7 +45,7 @@ impl Message {
}
}
#[derive(Clone, Copy, Debug)]
#[derive(Clone, Copy)]
pub enum ThreadType {
Bars(Class),
News,
@@ -107,7 +107,8 @@ async fn init_thread(
let (websocket, _) = connect_async(websocket_url).await.unwrap();
let (mut websocket_sink, mut websocket_stream) = websocket.split();
authenticate(&config, &mut websocket_sink, &mut websocket_stream).await;
alpaca::websocket::data::authenticate(&config, &mut websocket_sink, &mut websocket_stream)
.await;
let (backfill_sender, backfill_receiver) = mpsc::channel(100);
spawn(backfill::run(
@@ -160,14 +161,14 @@ async fn handle_message(
create_send_await!(
bars_us_equity_websocket_sender,
websocket::Message::new,
message.action.clone().into(),
message.action.into(),
us_equity_symbols.clone()
);
create_send_await!(
bars_us_equity_backfill_sender,
backfill::Message::new,
message.action.clone().into(),
message.action.into(),
us_equity_symbols
);
};
@@ -180,14 +181,14 @@ async fn handle_message(
create_send_await!(
bars_crypto_websocket_sender,
websocket::Message::new,
message.action.clone().into(),
message.action.into(),
crypto_symbols.clone()
);
create_send_await!(
bars_crypto_backfill_sender,
backfill::Message::new,
message.action.clone().into(),
message.action.into(),
crypto_symbols
);
};
@@ -196,14 +197,14 @@ async fn handle_message(
create_send_await!(
news_websocket_sender,
websocket::Message::new,
message.action.clone().into(),
message.action.into(),
symbols.clone()
);
create_send_await!(
news_backfill_sender,
backfill::Message::new,
message.action.clone().into(),
message.action.into(),
symbols.clone()
);
};