diff --git a/src/engine/engine/mod.rs b/src/engine/engine/mod.rs index f728c80..c7d8c4c 100644 --- a/src/engine/engine/mod.rs +++ b/src/engine/engine/mod.rs @@ -1,6 +1,6 @@ pub mod command; -pub mod plugin; pub mod execution; +pub mod plugin; use crate::{ engine::plugin::StrategyEngine, @@ -11,7 +11,7 @@ use pulse_sdk::prelude::*; use std::{collections::HashMap, sync::Arc}; use tokio::{sync::Mutex, task::JoinHandle}; -#[derive(Clone)] +#[derive(Debug, Clone)] pub struct WatchList { pub name_to_index: HashMap, pub items: Vec, @@ -71,11 +71,7 @@ impl Engine { if let Err(error) = self .terminal_server - .broadcast( - pulse_sdk::terminal::TerminalServerMessage::WatchListUpdated( - watch_list.items, - ), - ) + .broadcast(TerminalServerMessage::WatchListUpdated(watch_list.items)) .await { self.terminal_server @@ -103,23 +99,21 @@ impl Engine { match client.clearinghouse_state(acc.address, None).await { Ok(state) => { self.terminal_server - .broadcast( - pulse_sdk::terminal::TerminalServerMessage::PositionsUpdated( - state - .asset_positions - .into_iter() - .map(|position| Position { - symbol: Symbol(position.position.coin), - size: position.position.szi.as_f64(), - entry_price: USD(position - .position - .entry_px - .unwrap_or_default()), - profit: USD(position.position.unrealized_pnl), - }) - .collect(), - ), - ) + .broadcast(TerminalServerMessage::PositionsUpdated( + state + .asset_positions + .into_iter() + .map(|position| Position { + symbol: Symbol(position.position.coin), + size: position.position.szi.as_f64(), + entry_price: USD(position + .position + .entry_px + .unwrap_or_default()), + profit: USD(position.position.unrealized_pnl), + }) + .collect(), + )) .await?; } Err(e) => { diff --git a/src/engine/terminal.rs b/src/engine/terminal.rs index ba14436..ec2e9f1 100644 --- a/src/engine/terminal.rs +++ b/src/engine/terminal.rs @@ -164,8 +164,8 @@ impl TerminalServer { } pub async fn send_to_client(client: &mut OwnedWriteHalf, msg: &[u8]) -> tokio::io::Result<()> { - client.write(&msg.len().to_le_bytes()).await?; - client.write(msg).await?; + client.write_all(&msg.len().to_le_bytes()).await?; + client.write_all(msg).await?; client.flush().await?; Ok(()) diff --git a/src/terminal/terminal.rs b/src/terminal/terminal.rs index b032f9d..6224913 100644 --- a/src/terminal/terminal.rs +++ b/src/terminal/terminal.rs @@ -31,8 +31,8 @@ impl TerminalClient { message: pulse_sdk::terminal::TerminalClientMessage, ) -> tokio::io::Result<()> { let msg = map_postcard_err(postcard::to_allocvec(&message))?; - self.writer.write(&msg.len().to_le_bytes()).await?; - self.writer.write(&msg).await?; + self.writer.write_all(&msg.len().to_le_bytes()).await?; + self.writer.write_all(&msg).await?; self.writer.flush().await?; Ok(())