Пример #1
0
        public IDisposable Subscribe(IQuoteObserver <T> observer)
        {
            if (!_observers.Contains(observer))
            {
                _observers.Add(observer);
            }

            return(new ObservableUnsubscriber(this, observer));
        }
Пример #2
0
        public QuoteSubscription(IConnection connection, IIdsDispenser dispenser, IQuoteObserver observer, Contract contract)
        {
            CodeContract.Requires(connection != null);
            CodeContract.Requires(observer != null);
            CodeContract.Requires(dispenser != null);

            this.connection = connection;
            this.observer = observer;

            this.Subscribe(contract, dispenser);
        }
 internal RecommendedQuoteManager(IQuoteObserver <T> observer,
                                  IQuoteStorageService <T> quoteStorageService,
                                  ILockManager lockManager,
                                  ITradeExecuter <T> tradeExecuter,
                                  IEnumerable <Func <T, bool> > quoteValidationPredicates = null)
 {
     _observer                  = observer ?? throw new ArgumentNullException(nameof(observer));
     StorageService             = quoteStorageService ?? throw new ArgumentNullException(nameof(quoteStorageService));
     _lockManager               = lockManager;
     _tradeExecuter             = tradeExecuter;
     _quoteValidationPredicates = (quoteValidationPredicates ?? QuoteValidators.DefaultQuoteValidators <T>()).ToList();
 }
Пример #4
0
 public IDisposable SubscribeQuote(IQuoteObserver observer, Contract contract)
 {
     return this.objectsFactory.CreateQuoteSubscription(observer, contract);
 }
Пример #5
0
 public ObservableUnsubscriber(ObservedQuoteManager <T> manager, IQuoteObserver <T> observer)
 {
     _manager  = manager;
     _observer = observer;
 }
Пример #6
0
 private void Unsubscribe(IQuoteObserver <T> observer)
 {
     _observers.Remove(observer);
 }
Пример #7
0
 public IDisposable SubscribeQuote(IQuoteObserver observer, Contract contract)
 {
     CodeContract.Requires(observer != null);
     CodeContract.Ensures(CodeContract.Result<IDisposable>() != null);
     return null;
 }
Пример #8
0
 public IDisposable CreateQuoteSubscription(IQuoteObserver observer, Contract contract)
 {
     return new QuoteSubscription(this.connection, this.idsDispenser, observer, contract);
 }