removed order manager update from pairmanager update phase

This commit is contained in:
Giulio De Pasquale 2021-01-27 17:07:44 +00:00
parent dd3786486c
commit d445dc137a

View File

@ -322,7 +322,8 @@ impl OrderManagerHandle {
const SLEEP_DURATION: u64 = 5;
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 {
tokio::select! {
@ -348,19 +349,6 @@ impl OrderManagerHandle {
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> {
let (send, recv) = oneshot::channel();
@ -572,23 +560,19 @@ impl PairManager {
let mut events = 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.position_manager.update(tick),
self.order_manager.update(tick)
);
let (opt_price_events, opt_price_messages) = price_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_pos_events);
events.merge(opt_order_events);
messages.merge(opt_price_messages);
messages.merge(opt_pos_messages);
messages.merge(opt_order_messages);
// TODO: to move into Handler?
if let Some(messages) = messages {