removed order manager update from pairmanager update phase
This commit is contained in:
parent
dd3786486c
commit
d445dc137a
@ -322,7 +322,8 @@ impl OrderManagerHandle {
|
|||||||
const SLEEP_DURATION: u64 = 5;
|
const SLEEP_DURATION: u64 = 5;
|
||||||
|
|
||||||
async fn run_order_manager(mut manager: OrderManager) {
|
async fn run_order_manager(mut manager: OrderManager) {
|
||||||
let mut sleep = tokio::time::interval(Duration::from_secs(5));
|
let mut sleep =
|
||||||
|
tokio::time::interval(Duration::from_secs(OrderManagerHandle::SLEEP_DURATION));
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
tokio::select! {
|
tokio::select! {
|
||||||
@ -348,19 +349,6 @@ impl OrderManagerHandle {
|
|||||||
Self { sender }
|
Self { sender }
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn update(&mut self, tick: u64) -> Result<OptionUpdate, BoxError> {
|
|
||||||
let (send, recv) = oneshot::channel();
|
|
||||||
|
|
||||||
self.sender
|
|
||||||
.send(ActorMessage {
|
|
||||||
message: Message::Update { tick },
|
|
||||||
respond_to: send,
|
|
||||||
})
|
|
||||||
.await?;
|
|
||||||
|
|
||||||
Ok(recv.await?)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub async fn close_position(&mut self, position_id: u64) -> Result<OptionUpdate, BoxError> {
|
pub async fn close_position(&mut self, position_id: u64) -> Result<OptionUpdate, BoxError> {
|
||||||
let (send, recv) = oneshot::channel();
|
let (send, recv) = oneshot::channel();
|
||||||
|
|
||||||
@ -572,23 +560,19 @@ impl PairManager {
|
|||||||
let mut events = None;
|
let mut events = None;
|
||||||
let mut messages = None;
|
let mut messages = None;
|
||||||
|
|
||||||
let (price_results, pos_results, order_results) = tokio::join!(
|
let (price_results, pos_results) = tokio::join!(
|
||||||
self.price_manager.update(tick),
|
self.price_manager.update(tick),
|
||||||
self.position_manager.update(tick),
|
self.position_manager.update(tick),
|
||||||
self.order_manager.update(tick)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
let (opt_price_events, opt_price_messages) = price_results?;
|
let (opt_price_events, opt_price_messages) = price_results?;
|
||||||
let (opt_pos_events, opt_pos_messages) = pos_results?;
|
let (opt_pos_events, opt_pos_messages) = pos_results?;
|
||||||
let (opt_order_events, opt_order_messages) = order_results?;
|
|
||||||
|
|
||||||
events.merge(opt_price_events);
|
events.merge(opt_price_events);
|
||||||
events.merge(opt_pos_events);
|
events.merge(opt_pos_events);
|
||||||
events.merge(opt_order_events);
|
|
||||||
|
|
||||||
messages.merge(opt_price_messages);
|
messages.merge(opt_price_messages);
|
||||||
messages.merge(opt_pos_messages);
|
messages.merge(opt_pos_messages);
|
||||||
messages.merge(opt_order_messages);
|
|
||||||
|
|
||||||
// TODO: to move into Handler?
|
// TODO: to move into Handler?
|
||||||
if let Some(messages) = messages {
|
if let Some(messages) = messages {
|
||||||
|
Loading…
Reference in New Issue
Block a user