public void UnsubscribeFrom(string stream, string subscriberId) { lock (_synchroot) { Log.Info(_log, "Unsubscribing from {0}|{1}", stream, subscriberId ?? "default"); _subscriptionTimerManager.Remove(stream, subscriberId); Log.Info(_log, "Unsubscribed from {0}|{1}", stream, subscriberId); StreamSubscriberMonitor.RemoveEventStreamMonitor(stream, subscriberId); Log.Info(_log, "Stream ticks monitor removed from {0}|{1}", stream, subscriberId ?? "default"); } }
public void SubscribeTo(string stream, string subscriberId, TimeSpan?pollInterval = null) { lock (_synchroot) { var interval = pollInterval ?? _defaultPollingInterval; Log.Info(_log, "Subscribing to {0}|{1} with an interval of {2}", stream, subscriberId ?? "default", interval); _subscriptionTimerManager.Add(stream, subscriberId, interval, async() => await PollAsync(stream, subscriberId).ConfigureAwait(false), () => StreamSubscriberMonitor.UpdateEventStreamSubscriberIntervalMonitor(stream, interval, subscriberId)); Log.Info(_log, "Subscribed to {0}|{1} with an interval of {2}", stream, subscriberId ?? "default", interval); } }