Fix watch list
This commit is contained in:
@@ -16,6 +16,7 @@ pub struct Engine {
|
|||||||
pub strategy: Arc<StrategyEngine>,
|
pub strategy: Arc<StrategyEngine>,
|
||||||
pub config: Arc<Mutex<Config>>,
|
pub config: Arc<Mutex<Config>>,
|
||||||
pub accounts: Arc<Mutex<AccountList>>,
|
pub accounts: Arc<Mutex<AccountList>>,
|
||||||
|
pub watch_list: Arc<Mutex<Vec<MarketItem>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Engine {
|
impl Engine {
|
||||||
@@ -32,6 +33,7 @@ impl Engine {
|
|||||||
strategy: strategy.initialize(engine.clone()),
|
strategy: strategy.initialize(engine.clone()),
|
||||||
config,
|
config,
|
||||||
accounts,
|
accounts,
|
||||||
|
watch_list: Arc::new(Mutex::new(Vec::new())),
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,6 +55,8 @@ impl Engine {
|
|||||||
|
|
||||||
match crate::fetch::fetch_watch_list(&client, watch_list).await {
|
match crate::fetch::fetch_watch_list(&client, watch_list).await {
|
||||||
Ok(watch_list) => {
|
Ok(watch_list) => {
|
||||||
|
*self.watch_list.lock().await = watch_list.clone();
|
||||||
|
|
||||||
if let Err(error) = self
|
if let Err(error) = self
|
||||||
.terminal_server
|
.terminal_server
|
||||||
.broadcast(
|
.broadcast(
|
||||||
|
|||||||
@@ -74,11 +74,11 @@ impl StrategyEngine {
|
|||||||
None => {}
|
None => {}
|
||||||
|
|
||||||
Some(StrategyMessage::GetWatchList) => {
|
Some(StrategyMessage::GetWatchList) => {
|
||||||
let mut v = vec![1];
|
self.strategy
|
||||||
|
.send(&StrategyEngineMessage::WatchList(
|
||||||
v.extend(engine.config.lock().await.watchlist.to_com());
|
engine.watch_list.lock().await.clone(),
|
||||||
|
))
|
||||||
self.strategy.send_raw(&v).await?;
|
.await?;
|
||||||
}
|
}
|
||||||
|
|
||||||
Some(StrategyMessage::Log(mut log)) => {
|
Some(StrategyMessage::Log(mut log)) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user