public AbnormalInstrument(SourceQuotation firstAbnormalItem, AbnormalQuotationManager abnormalQuotationManager, PriceRangeCheckRule priceRangeCheckRule) { this._InstrumentId = firstAbnormalItem.InstrumentId; this._TimeoutCount = 0; this._WaitQueue = new Queue<SourceQuotation>(); this._WaitQueue.Enqueue(firstAbnormalItem); this._AbnormalQuotationManager = abnormalQuotationManager; this._PriceRangeCheckRule = priceRangeCheckRule; }
public void Start(int quotationListenPort) { this._ConfigMetadata.Load(); this._AbnormalQuotationManager = new AbnormalQuotationManager(this._ConfigMetadata.PriceRangeCheckRules, this._LastQuotationManager); this._DerivativeController = new DerivativeController(this._ConfigMetadata.DerivativeRelations, this._LastQuotationManager); this._SourceController.Start(); this._LastQuotationManager.LastAccepted.Initialize(this._ConfigMetadata.LastQuotations); this._QuotationReceiver = new QuotationReceiver(quotationListenPort); this._QuotationReceiver.Start(this); }