startServer method
start dox server
await Dox().startServer();
Implementation
Future<void> startServer() async {
checkAppKey();
addServices(config.services);
_totalIsolate ??= Dox().config.totalIsolate;
int isolatesToSpawn = _totalIsolate!;
/// stop here, before any isolate starts, when the native server can
/// not run. The error says why and how to fix it.
NativeHttpServer.ensureAvailable();
/// Windows has no SO_REUSEPORT: one isolate owns the native listener.
if (Platform.isWindows && isolatesToSpawn > 1) {
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);
HttpServer server = await DoxServer().listen(
DoxServer.portFor(config.serverPort),
address: DoxServer.hostFor(config.host),
);
Logger.info(
'Server started at ${serverUrl(server)} with $isolatesToSpawn isolate '
'(native)',
);
_watchSignals();
}