public IDisposable Initialize(IObservable <IConnected <IBroker> > brokerStream, IObservable <IConnected <IEventStoreConnection> > eventStoreStream) { _cache = new CurrencyPairCache(eventStoreStream); _service = new ReferenceService(_cache.GetCurrencyPairUpdates()); return(brokerStream.LaunchOrKill(broker => new ReferenceReadServiceHost(_service, broker)) .Subscribe()); }
public IDisposable Initialize(IObservable<IConnected<IBroker>> brokerStream, IObservable<IConnected<IEventStoreConnection>> eventStoreStream) { _cache = new CurrencyPairCache(eventStoreStream); _service = new ReferenceService(_cache.GetCurrencyPairUpdates()); var disposable = brokerStream.LaunchOrKill(broker => new ReferenceReadServiceHost(_service, broker)) .Subscribe(); _cleanup.Add(disposable); return disposable; }