fn update()

in src/flux.rs [46:81]


    fn update(&mut self, action: Action) {
        match action {
            Action::LogMessage(message) => self.state.messages.push(message),
            Action::AddBenchmark(benchmark) => {
                // add or update benchmark
                let index = self
                    .state
                    .benchmarks
                    .iter()
                    .position(|b| b.id == benchmark.id);
                match index {
                    Some(i) => {
                        self.state.benchmarks[i] = benchmark;
                    }
                    None => {
                        self.state.benchmarks.push(benchmark);
                    }
                }
            }
            Action::AddBenchmarkResults(results) => {
                let index = self
                    .state
                    .results
                    .iter_mut()
                    .position(|b| b.id == results.id);
                match index {
                    Some(i) => {
                        self.state.results[i] = results;
                    }
                    None => {
                        self.state.results.push(results);
                    }
                }
            }
        }
    }