Formatting
(tasks: &[(JobTaskId, JobTaskInfo)], worker_map: &WorkerMap)
| 1493 | |
| 1494 | /// Formatting |
| 1495 | pub fn format_job_workers(tasks: &[(JobTaskId, JobTaskInfo)], worker_map: &WorkerMap) -> String { |
| 1496 | // BTreeSet is used to both filter duplicates and keep a stable order |
| 1497 | let worker_set: BTreeSet<_> = tasks |
| 1498 | .iter() |
| 1499 | .filter_map(|(_, task)| task.state.get_workers()) |
| 1500 | .flatten() |
| 1501 | .collect(); |
| 1502 | let worker_count = worker_set.len(); |
| 1503 | |
| 1504 | let mut result = format_comma_delimited( |
| 1505 | worker_set |
| 1506 | .into_iter() |
| 1507 | .take(MAX_DISPLAYED_WORKERS) |
| 1508 | .map(|id| format_worker(*id, worker_map)), |
| 1509 | ); |
| 1510 | |
| 1511 | if worker_count > MAX_DISPLAYED_WORKERS { |
| 1512 | write!(result, ", … ({worker_count} total)").unwrap(); |
| 1513 | } |
| 1514 | |
| 1515 | result |
| 1516 | } |
| 1517 | |
| 1518 | fn format_worker(id: WorkerId, worker_map: &WorkerMap) -> &str { |
| 1519 | worker_map |
nothing calls this directly
no test coverage detected