Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(549)

Unified Diff: sdk/lib/_internal/pub_generated/lib/src/barback/source_directory.dart

Issue 557563002: Store the async-await compiled pub code directly in the repo. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/pub_generated/lib/src/barback/source_directory.dart
diff --git a/sdk/lib/_internal/pub_generated/lib/src/barback/source_directory.dart b/sdk/lib/_internal/pub_generated/lib/src/barback/source_directory.dart
new file mode 100644
index 0000000000000000000000000000000000000000..14b0646a16560600398d26175843617068ab492c
--- /dev/null
+++ b/sdk/lib/_internal/pub_generated/lib/src/barback/source_directory.dart
@@ -0,0 +1,35 @@
+library pub.barback.source_directory;
+import 'dart:async';
+import 'package:watcher/watcher.dart';
+import 'asset_environment.dart';
+import 'barback_server.dart';
+class SourceDirectory {
+ final AssetEnvironment _environment;
+ final String directory;
+ final String hostname;
+ final int port;
+ Future<BarbackServer> get server => _serverCompleter.future;
+ final _serverCompleter = new Completer<BarbackServer>();
+ StreamSubscription<WatchEvent> watchSubscription;
+ SourceDirectory(this._environment, this.directory, this.hostname, this.port);
+ Future<BarbackServer> serve() {
+ return BarbackServer.bind(
+ _environment,
+ hostname,
+ port,
+ rootDirectory: directory).then((server) {
+ _serverCompleter.complete(server);
+ return server;
+ });
+ }
+ Future close() {
+ return server.then((server) {
+ var futures = [server.close()];
+ if (watchSubscription != null) {
+ var cancel = watchSubscription.cancel();
+ if (cancel != null) futures.add(cancel);
+ }
+ return Future.wait(futures);
+ });
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698