startServer method
start dox server
await Dox().startServer();
Implementation
Future<void> startServer() async {
checkAppKey();
addServices(config.services);
_totalIsolate ??= Dox().config.totalIsolate;
int isolatesToSpawn = _totalIsolate!;
/// Windows has no SO_REUSEPORT: one isolate owns the native listener.
if (Platform.isWindows && isolatesToSpawn > 1 && DoxServer.usesNative()) {
Logger.info('Windows: the native server runs on one isolate');
isolatesToSpawn = 1;
}
if (isolatesToSpawn > 1) {
await DoxIsolate().spawn(isolatesToSpawn);
}
await startServices();
DoxServer().setResponseHandler(config.responseHandler);
await DoxServer().listen(config.serverPort, isolateId: 1);
String backend = DoxServer().httpServer is NativeHttpServer
? 'native'
: 'dart:io';
Logger.info(
sprintf(
'Server started at http://127.0.0.1:%s with $isolatesToSpawn isolate '
'($backend)',
<dynamic>[Dox().config.serverPort],
),
);
}