private static void Start(CounterCommandLine commandLine, ILogger logger, IServiceScope scope) { ISensorDataProcessor sensorDataProcessor = scope.ServiceProvider.GetRequiredService <ISensorDataProcessor>(); sensorDataProcessor.Start(); ISensorDataReceiver sensorDataReceiver = scope.ServiceProvider.GetRequiredService <ISensorDataReceiver>(); sensorDataReceiver.Start(commandLine.Interface, commandLine.Port); IControlReceiver controlReceiver = scope.ServiceProvider.GetRequiredService <IControlReceiver>(); controlReceiver.Start(commandLine.Interface, commandLine.Port); logger.LogInformation("Choose an action - [e]xit | [s]tart | s[t]op (casing matters!)"); while (true) { string input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(input) || input.StartsWith('e')) { break; } if (input.StartsWith('s')) { sensorDataReceiver.Start(commandLine.Interface, commandLine.Port); } if (input.StartsWith('t')) { sensorDataReceiver.Stop(); } } }
public ControlReceiver( ILogger <ControlReceiver> logger, ISensorDataReceiver sensorDataReceiver, IOptions <ControlOptions> options) { _logger = logger; _sensorDataReceiver = sensorDataReceiver; _options = options.Value; }
public SensorDataProcessor( ILogger <SensorDataProcessor> logger, ISensorDataReceiver sensorDataReceiver, ISensorData sensorData, ISensorDataWriter writer, ISensorDataUtil sensorDataUtil, IOptions <SensorDataOptions> options) { _logger = logger; _sensorDataReceiver = sensorDataReceiver; _sensorData = sensorData; _writer = writer; _sensorDataUtil = sensorDataUtil; _options = options.Value; }