public TwitterMonitorCommand(ILogger <TwitterMonitorCommand> log, TwitterMonitorConfig config, IMonitoringStream monitoring, IPersistency persistency) { this.log = log ?? throw new ArgumentNullException(nameof(log)); this.monitoring = monitoring ?? throw new ArgumentNullException(nameof(monitoring)); this.config = config; this.persistency = persistency; }
private void Stop() { logger.LogInformation("Stopping stream..."); subscription?.Dispose(); subscription = null; stream?.Dispose(); stream = null; }
public StreamMonitor(ILogger <StreamMonitor> logger, IAuthentication authentication, ITrackingInstance tracker, IDuplicateDetectors duplicateDetectors, IMonitoringStream stream) { this.authentication = authentication ?? throw new ArgumentNullException(nameof(authentication)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.duplicateDetectors = duplicateDetectors ?? throw new ArgumentNullException(nameof(duplicateDetectors)); Trackers = tracker ?? throw new ArgumentNullException(nameof(tracker)); this.stream = stream ?? throw new ArgumentNullException(nameof(stream)); Start(); }