stop method
Stop the server
Implementation
@override
Future<void> stop() async {
if (!_isRunning) {
return;
}
_isRunning = false;
// Gracefully close every session. Guard each close so one failing
// session does not prevent the others (and the server socket) from
// being torn down.
await Future.forEach(
List.of(_sessions.values),
(ClientSession session) => tryCatchIgnore(session.close),
);
_sessions.clear();
await _server?.close();
_server = null;
_addServerEvent(
const ServerEvent(
type: ServerEventType.stopped,
message: 'Server stopped',
),
);
}