Usage cleanup and client initial signals

This commit is contained in:
2026-08-02 01:01:16 +02:00
parent f9f218ad80
commit 3d35cbf0a5
8 changed files with 26 additions and 20 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
use std::sync::{Arc, Weak};
use pulse_sdk::prelude::*;
use futures::StreamExt;
use hypersdk::{
@@ -8,7 +8,7 @@ use hypersdk::{
ws::{ConnectionHandle, ConnectionStream, Event},
},
};
use pulse_sdk::general::Signal;
use std::sync::{Arc, Weak};
use tokio::sync::Mutex;
use crate::{engine::Engine, store::config::RiskConfig};
+2 -1
View File
@@ -1,10 +1,11 @@
use pulse_sdk::prelude::*;
use anyhow::Context;
use futures::StreamExt;
use hypersdk::hypercore::{
self, CandleInterval, Subscription,
ws::{ConnectionHandle, ConnectionStream, Event},
};
use pulse_sdk::prelude::*;
use std::{
collections::HashSet,
sync::{Arc, Weak},
+13 -7
View File
@@ -1,5 +1,6 @@
use crate::engine::Engine;
use pulse_sdk::{map_postcard_err, prelude::*};
use crate::engine::Engine;
use std::{
collections::HashMap,
sync::{Arc, Weak},
@@ -37,7 +38,7 @@ impl TerminalServer {
}
pub async fn run_server(self: Arc<Self>) -> tokio::io::Result<()> {
let path = pulse_sdk::server_path();
let path = server_path();
if path.exists() {
tokio::fs::remove_file(&path).await?;
@@ -103,7 +104,13 @@ impl TerminalServer {
self.send_to(
id,
pulse_sdk::terminal::TerminalServerMessage::SetLogs(self.logs.lock().await.clone()),
TerminalServerMessage::SetLogs(self.logs.lock().await.clone()),
)
.await?;
self.send_to(
id,
TerminalServerMessage::SignalsUpdated(engine.signals.lock().await.clone()),
)
.await?;
@@ -151,7 +158,7 @@ impl TerminalServer {
pub async fn broadcast(
self: &Arc<Self>,
message: pulse_sdk::terminal::TerminalServerMessage,
message: TerminalServerMessage,
) -> tokio::io::Result<()> {
let msg = map_postcard_err(postcard::to_allocvec(&message))?;
@@ -263,7 +270,7 @@ impl TerminalServer {
pub async fn send_to(
self: &Arc<Self>,
id: &usize,
message: pulse_sdk::terminal::TerminalServerMessage,
message: TerminalServerMessage,
) -> tokio::io::Result<()> {
Self::send_to_client(
self.clients.lock().await.get_mut(id).ok_or_else(|| {
@@ -319,8 +326,7 @@ impl TerminalServer {
self.logs.lock().await.push(log.clone());
self.broadcast(pulse_sdk::terminal::TerminalServerMessage::AddLog(log))
.await
self.broadcast(TerminalServerMessage::AddLog(log)).await
}
pub async fn info(self: &Arc<Self>, name: &str, message: &str) -> tokio::io::Result<()> {
+2 -2
View File
@@ -1,7 +1,7 @@
use std::collections::HashMap;
use pulse_sdk::general::Allocation;
use std::collections::HashMap;
#[derive(Debug, Clone, Copy, serde::Serialize, serde::Deserialize)]
pub struct RiskConfig {
pub risk_per_trade: Allocation,
+2 -5
View File
@@ -1,9 +1,6 @@
use std::{path::PathBuf, process::Stdio};
use pulse_sdk::{map_postcard_err, prelude::*};
use pulse_sdk::{
map_postcard_err,
strategy::{StrategyEngineMessage, StrategyManifest, StrategyMessage},
};
use std::{path::PathBuf, process::Stdio};
use tokio::{
io::{AsyncReadExt, AsyncWriteExt},
process::{Child, ChildStdout, Command},
+2 -1
View File
@@ -1,6 +1,7 @@
use hypersdk::hypercore::Side;
use pulse_sdk::prelude::*;
use hypersdk::hypercore::Side;
pub trait Formatted {
fn get_formatted(&self) -> Vec<String>;
}
+2 -2
View File
@@ -2,6 +2,8 @@ pub mod command;
pub mod formatting;
pub mod terminal;
use pulse_sdk::prelude::*;
use std::any::Any;
use chrono::{Local, Utc};
@@ -21,8 +23,6 @@ use pulse_ui::{
use crate::formatting::{Formatted, apply_padding};
use pulse_sdk::prelude::*;
pub struct PulseTradeApp {
sock: Option<terminal::TerminalClient>,
+1
View File
@@ -1,4 +1,5 @@
use pulse_sdk::{map_postcard_err, prelude::*};
use pulse_ui::state::State;
use tokio::{