/// <summary> /// Starts a new monitors for the specified state. /// </summary> /// <returns>The monitored state.</returns> /// <param name="ms">The monitored state.</param> CachedHashMonitoredState CreateNewMonitors(CachedHashMonitoredState ms) { try { monitor.StartNew(ms.StateHash, ms); } catch (Exception e) { logger.Error($"Fail to update monitor ({e.Message})"); } return(ms); }
/// <summary> /// Updates the monitors for the specified state. /// </summary> /// <returns>The monitored state.</returns> /// <param name="ms">The monitored state.</param> CachedHashMonitoredState UpdateMonitors(CachedHashMonitoredState ms) { try { monitor.Step(ms); } catch (Exception e) { logger.Error($"Fail to update monitor ({e.Message})"); } return(ms); }
/// <summary> /// Adds the monitored state to the processing pipeline. /// </summary> /// <param name="currentState">The monitored state.</param> public void MonitorStep(MonitoredState currentState, DateTime now) { var cachedMs = new CachedHashMonitoredState(currentState, now, projection); //if (this is ObstacleMonitor om && om.Obstacle.Identifier == "a3_stopped_in_traffic_monitored") //{ // Console.WriteLine("MonitorStep: " + cachedMs.StateHash + " " + string.Join(",", projection)); //} buffer.Post(cachedMs); }