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);
}
}
}
}
}