public ExternalLoggingFrameworkObserver(IMinerLogListener logListener)
        {
            if (logListener == null)
            {
                throw new ArgumentNullException(nameof(logListener));
            }

            logListener.LogMessageReceived += ReceiveLogMessage;
        }
Example #2
0
        public TrexMiner(ILogger <TrexMiner> logger, IOptions <Settings> settings, ITrexWebClient webClient, IMinerProcessFactory processFactory, IMinerLogListener listener, IInternalLoggingFrameworkObserver loggingFrameworkObserver)
        {
            _logger         = logger ?? throw new ArgumentNullException(nameof(logger));
            _settings       = settings.Value ?? throw new ArgumentNullException(nameof(settings));
            _webClient      = webClient ?? throw new ArgumentNullException(nameof(webClient));
            _processFactory = processFactory ?? throw new ArgumentNullException(nameof(processFactory));

            _settings.ExeFileName  = _settings.ExeFileName ?? string.Empty;
            _settings.ExeLocation  = _settings.ExeLocation ?? string.Empty;
            _settings.ExeArguments = _settings.ExeArguments ?? string.Empty;

            _listener = listener ?? throw new ArgumentNullException(nameof(listener));

            loggingFrameworkObserver = loggingFrameworkObserver ?? throw new ArgumentNullException(nameof(loggingFrameworkObserver));

            //i dont know a better spot to do this wire up which is frustrating.
            //it needs to happen after all dependencies are registered and before background services start
            //I think the only way I can ensure that is to have it execute as part of an object I know
            //is resolved when the miner is resolved
            _listener.LogMessageReceived += loggingFrameworkObserver.ReceiveLogMessage;

            StateHandler = new MinerStateHandler(this);
            StateHandler.TransitionToStateAsync(new UnknownMinerState());
        }
Example #3
0
 public MinerUpdateAvailableObserver(ILogger <MinerUpdateAvailableObserver> logger, IMinerLogListener logListener)
 {
     _logger     = logger ?? throw new ArgumentNullException(nameof(logger));
     logListener = logListener ?? throw new ArgumentNullException(nameof(logListener));
     logListener.LogMessageReceived += ReceiveLogMessage;
 }
Example #4
0
 public PowerLogObserver(ILogger <PowerLogObserver> logger, IOptions <Settings> options, IMinerLogListener logListener)
 {
     _logger     = logger ?? throw new ArgumentNullException(nameof(logger));
     logListener = logListener ?? throw new ArgumentNullException(nameof(logListener));
     logListener.LogMessageReceived += ReceiveLogMessage;
     _settings         = options.Value;
     _movingStatistics = new MovingStatistics(_settings.StatHistorySize);
 }
Example #5
0
 public CrashCountLogObserver(ILogger <CrashCountLogObserver> logger, IMinerLogListener logListener)
 {
     _logger     = logger ?? throw new ArgumentNullException(nameof(logger));
     logListener = logListener ?? throw new ArgumentNullException(nameof(logListener));
     logListener.LogMessageReceived += ReceiveLogMessage;
 }