drivePorters method

Future<int> drivePorters(
  1. Iterable<Porter> porters
)

Implementation

Future<int> drivePorters(Iterable<Porter> porters) async {
  int count = 0;
  List<Future<bool>> futures = [];
  Future<bool> task;
  for (Porter worker in porters) {
    // drive porter to send data
    task = worker.process();
    futures.add(task);
  }
  List<bool> results = await Future.wait(futures);
  for (bool busy in results) {
    if (busy) {
      count += 1;  // it's busy
    }
  }
  return count;
}