Example #1
0
 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();
 }
Example #2
0
 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;
     }
 }