public IDisposable Subscribe(IQuoteObserver <T> observer) { if (!_observers.Contains(observer)) { _observers.Add(observer); } return(new ObservableUnsubscriber(this, observer)); }
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(); }
public IDisposable SubscribeQuote(IQuoteObserver observer, Contract contract) { return this.objectsFactory.CreateQuoteSubscription(observer, contract); }
public ObservableUnsubscriber(ObservedQuoteManager <T> manager, IQuoteObserver <T> observer) { _manager = manager; _observer = observer; }
private void Unsubscribe(IQuoteObserver <T> observer) { _observers.Remove(observer); }
public IDisposable SubscribeQuote(IQuoteObserver observer, Contract contract) { CodeContract.Requires(observer != null); CodeContract.Ensures(CodeContract.Result<IDisposable>() != null); return null; }
public IDisposable CreateQuoteSubscription(IQuoteObserver observer, Contract contract) { return new QuoteSubscription(this.connection, this.idsDispenser, observer, contract); }