public OrderMatcher(Market m) { matchLock = new object(); this.m = m; Container = new OrderContainer(this.RaiseOnFinish); arranger = new Arranger(Container, SaveDeal, Matched, PartialMatched, Redo, m, PartialMatchedTrue); arrangeChecker = new ArrangeChecker(Container, (o) => { //因为是合约是从容器中取出来的,所以不需要重新引发开始撮合和撮合结束事件 DoHandle(o, false); }, log); arrangeChecker.Start(); }
public void Dispose() { if (log != null) { log.Dispose(); log = null; } if (Container != null) { Container.Orders.Clear(); Container = null; } if (arrangeChecker != null) { arrangeChecker.Dispose(); arrangeChecker = null; } }