blob: 82ed69a4115b9a0044ced69ff77a7ed3f6d8903f [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart = 2.9
import 'dart:async';
import 'package:build_daemon/data/build_status.dart';
import 'webdev_server.dart';
/// Manages a set of [WebDevServer]s.
class ServerManager {
final Set<WebDevServer> servers;
ServerManager._(this.servers);
static Future<ServerManager> start(
Set<ServerOptions> serverOptions,
Stream<BuildResults> buildResults,
) async {
var servers = <WebDevServer>{};
for (var options in serverOptions) {
servers.add(await WebDevServer.start(options, buildResults));
}
return ServerManager._(servers);
}
Future<void> stop() async {
for (var server in servers) {
await server.stop();
}
}
}