serve method

Future serve(
  1. List<String> arguments
)

Implementation

Future serve(List<String> arguments) async {
  print("starting HTTP server...");
  args.parse(arguments);
  await config.load(args.configPath);

  int port = args.port ?? config.getRequired<int>('port');
  int threads = args.threads ?? config.getOptional<int>('threads', 1);

  print('PID: $pid datadir: $datadir port: $port threads: $threads');
  _startServerIsolate(ServerThreadArgs(1, port, args.configPath, sharedServerData));
  List<Isolate> isolates = [];
  for (var i = 2; i < threads + 1; i++) {
    isolates.add(await Isolate.spawn(_startServerIsolate, ServerThreadArgs(i, port, args.configPath, sharedServerData)));
  }
  await ProcessSignal.sigterm.watch().first;
  print("terminating HTTP server");
  exit(0);
}