public Task HandleEventAsync(OrderPlaced anEvent) { _orderBook.AddOrder(anEvent.Order); var trades = _orderBook.Match().ToList(); if (trades.Any()) { OnNewTrades?.Invoke(trades); } OnOrderBookUpdated?.Invoke(_orderBook.GetTopAsks(1000), _orderBook.GetTopBids(1000)); return(Task.FromResult(0)); }
public IReadOnlyCollection <OrderBookLine> GetTopBids(int quantity) { return(_orderBook.GetTopBids(quantity)); }