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;
 }
Example #3
0
 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;
 }