boot<I, O, CR> static method
Boots up a new ProcessGroup instance.
Implementation
static Future<ProcessGroup<I, O, CR>> boot<I, O, CR>(
Future<CR> Function() setupProcess,
Future<O> Function(I input, CR commonResourceRecord) processInput,
Future<void> Function(CR commonResourceRecord) shutdownProcess, [
int? numberOfProcesses,
]) async {
numberOfProcesses ??= Platform.numberOfProcessors;
var processGroup = await Future.wait(
List.generate(
numberOfProcesses,
(_) => Process.boot(setupProcess, processInput, shutdownProcess),
),
);
return ProcessGroup._(setupProcess, processInput, shutdownProcess, processGroup);
}