bd2a8e1d60
Bug: Change-Id: I4ca50f315361422db1d4356055862463bfe1d6f3 Reviewed-on: https://dart-review.googlesource.com/12240 Reviewed-by: Siva Annamalai <asiva@google.com> Reviewed-by: Ben Konyi <bkonyi@google.com> Commit-Queue: Siva Annamalai <asiva@google.com>
41 lines
1022 B
Dart
41 lines
1022 B
Dart
// Copyright (c) 2013, 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.
|
|
|
|
part of ServerTest;
|
|
|
|
abstract class TestingServer {
|
|
static const HOST = "127.0.0.1";
|
|
static const INIT = 0;
|
|
static const SHUTDOWN = -1;
|
|
|
|
void onConnection(Socket connection); // Abstract.
|
|
|
|
void errorHandlerServer(e, trace) {
|
|
String msg = "Server socket error $e";
|
|
if (trace != null) msg += "\nStackTrace: $trace";
|
|
Expect.fail(msg);
|
|
}
|
|
|
|
SendPort get closeSendPort => _closePort.sendPort;
|
|
|
|
Future<int> init() {
|
|
_closePort = new ReceivePort();
|
|
_closePort.first.then((_) {
|
|
close();
|
|
});
|
|
return ServerSocket.bind(HOST, 0).then((server) {
|
|
_server = server;
|
|
_server.listen(onConnection, onError: errorHandlerServer);
|
|
return _server.port;
|
|
});
|
|
}
|
|
|
|
void close() {
|
|
_server.close();
|
|
}
|
|
|
|
ServerSocket _server;
|
|
ReceivePort _closePort;
|
|
}
|