public void Setup() { topicRouter = mockTopicRouter.Object; monitorCache = mockMonitorCache.Object; subscriptionsCache = mockSubscriptionsCache.Object; subscriberFactory = mockSubscriberFactory.Object; subscriber = mockSubscriber.Object; monitor = mockMonitor.Object; address = TcpAddress.Localhost(5555); routing = SubscriberRouting.For <ISubscriber>(address); mockTopicRouter .Setup(m => m.RoutingFor <Topic>(out routing)) .Returns(true); mockSubscriberFactory .Setup(m => m.CreateSubscriber(It.IsAny <IAddress>())) .Returns(subscriber); mockSubscriberFactory .SetupGet(m => m.SubscriberType) .Returns(typeof(ISubscriber)); mockSubscriberFactory .SetupGet(m => m.SubscriberMonitor) .Returns(monitor); }
public SubscriptionsManager(ISubscriptionsCache cache) { _cache = cache; _subscriptions = new ReplaySubject<ISubscription>(); }
/// <summary> /// Initializes a new instance of <see cref="SubscriberCache"/> /// </summary> /// <param name="topicRouter"></param> /// <param name="monitorCache">Stores <see cref="IMonitor"/>s that actively manage <see cref="ISubscriber"/>s</param> /// <param name="subscriptions"></param> public SubscriberCache(ITopicRouter topicRouter, IMonitorCache monitorCache, ISubscriptionsCache subscriptions) { this.topicRouter = topicRouter ?? throw new ArgumentNullException(nameof(topicRouter)); this.monitorCache = monitorCache ?? throw new ArgumentNullException(nameof(monitorCache)); this.subscriptions = subscriptions ?? throw new ArgumentNullException(nameof(subscriptions)); }