// Copyright (c) 2017, 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.

import 'dart:async';

/**
 * A handle to start, and return the current port of, a diagnostic server.
 */
abstract class DiagnosticServer {
  /**
   * Return the port of the diagnostic web server. If the server is not running
   * this call will start the server.
   */
  Future<int> getServerPort();
}
