public override void Handle(Bid bid) { Log.Verbose("Processing {@bid}...", bid); var ask = FindSeller(bid); if (ask == null || bid.TraderId == ask.TraderId) { Log.Debug("No seller for {symbol} @ {price} - bid submitted.", bid.Symbol, bid.Price); SubmitOffer(bid); } else { Log.Debug("Found seller for {symbol} @ {price} - executing trade", ask.Symbol, ask.Price); _tradeHandler.Handle(ask, bid); } }
public override void Handle(Ask ask) { Log.Verbose("Processing {@ask}...", ask); var bid = FindBuyer(ask); if (bid == null || bid.TraderId == ask.TraderId) { Log.Debug("No buyer for {symbol} @ {price} - ask submitted.", ask.Symbol, ask.Price); SubmitOffer(ask); } else { Log.Debug("Found buyer for {symbol} @ {price} - executing trade.", ask.Symbol, ask.Price); _tradeHandler.Handle(ask, bid); } }