close method
关闭服务器
Implementation
Future<void> close() async {
final completer = Completer();
//销毁心跳循环
_ticker?.cancel();
_ticker = null;
//断开集群连接
final allClientList = <EasyClient>[];
_clusterClientMap.forEach((cluster, clientList) => allClientList.addAll(clientList));
for (var client in allClientList) {
await client.destroy();
}
//关闭server
_server?.close(force: true).then((value) {
if (_router != null) {
logInfo(['web server was closed.']);
} else {
logInfo(['websocket server was closed.']);
}
//释放http服务器实例
_server = null;
//关闭完成
completer.complete();
});
return completer.future;
}