Add shared lib
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -1,19 +1,26 @@
|
||||
mod websocket;
|
||||
|
||||
use crate::{
|
||||
config::{Config, ALPACA_WEBSOCKET_URL},
|
||||
types::alpaca,
|
||||
};
|
||||
use crate::config::{Config, ALPACA_API_BASE, ALPACA_API_KEY, ALPACA_API_SECRET};
|
||||
use futures_util::StreamExt;
|
||||
use qrust::types::alpaca;
|
||||
use std::sync::Arc;
|
||||
use tokio::spawn;
|
||||
use tokio_tungstenite::connect_async;
|
||||
|
||||
pub async fn run(config: Arc<Config>) {
|
||||
let (websocket, _) = connect_async(&*ALPACA_WEBSOCKET_URL).await.unwrap();
|
||||
let (websocket, _) =
|
||||
connect_async(&format!("wss://{}.alpaca.markets/stream", *ALPACA_API_BASE))
|
||||
.await
|
||||
.unwrap();
|
||||
let (mut websocket_sink, mut websocket_stream) = websocket.split();
|
||||
|
||||
alpaca::websocket::trading::authenticate(&mut websocket_sink, &mut websocket_stream).await;
|
||||
alpaca::websocket::trading::authenticate(
|
||||
&mut websocket_sink,
|
||||
&mut websocket_stream,
|
||||
(*ALPACA_API_KEY).to_string(),
|
||||
(*ALPACA_API_SECRET).to_string(),
|
||||
)
|
||||
.await;
|
||||
alpaca::websocket::trading::subscribe(&mut websocket_sink, &mut websocket_stream).await;
|
||||
|
||||
spawn(websocket::run(config, websocket_stream));
|
||||
|
Reference in New Issue
Block a user