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

Side by Side Diff: packages/barback/lib/src/graph/transform_node.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library barback.graph.transform_node; 5 library barback.graph.transform_node;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:async/async.dart';
10
9 import '../asset/asset.dart'; 11 import '../asset/asset.dart';
10 import '../asset/asset_id.dart'; 12 import '../asset/asset_id.dart';
11 import '../asset/asset_node.dart'; 13 import '../asset/asset_node.dart';
12 import '../asset/asset_node_set.dart'; 14 import '../asset/asset_node_set.dart';
13 import '../errors.dart'; 15 import '../errors.dart';
14 import '../log.dart'; 16 import '../log.dart';
15 import '../transformer/aggregate_transform.dart'; 17 import '../transformer/aggregate_transform.dart';
16 import '../transformer/aggregate_transformer.dart'; 18 import '../transformer/aggregate_transformer.dart';
17 import '../transformer/declaring_aggregate_transform.dart'; 19 import '../transformer/declaring_aggregate_transform.dart';
18 import '../transformer/declaring_aggregate_transformer.dart'; 20 import '../transformer/declaring_aggregate_transformer.dart';
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 438
437 _state = _State.DECLARING; 439 _state = _State.DECLARING;
438 var controller = new DeclaringAggregateTransformController(this); 440 var controller = new DeclaringAggregateTransformController(this);
439 _declareController = controller; 441 _declareController = controller;
440 _streams.onLogPool.add(controller.onLog); 442 _streams.onLogPool.add(controller.onLog);
441 for (var primary in _primaries) { 443 for (var primary in _primaries) {
442 controller.addId(primary.id); 444 controller.addId(primary.id);
443 } 445 }
444 _maybeFinishDeclareController(); 446 _maybeFinishDeclareController();
445 447
446 syncFuture(() { 448 new Future.sync(() {
447 return (transformer as DeclaringAggregateTransformer) 449 return (transformer as DeclaringAggregateTransformer)
448 .declareOutputs(controller.transform); 450 .declareOutputs(controller.transform);
449 }).whenComplete(() { 451 }).whenComplete(() {
450 // Cancel the controller here even if `declareOutputs` wasn't interrupted. 452 // Cancel the controller here even if `declareOutputs` wasn't interrupted.
451 // Since the declaration is finished, we want to close out the 453 // Since the declaration is finished, we want to close out the
452 // controller's streams. 454 // controller's streams.
453 controller.cancel(); 455 controller.cancel();
454 _declareController = null; 456 _declareController = null;
455 }).then((_) { 457 }).then((_) {
456 if (_isRemoved) return; 458 if (_isRemoved) return;
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 _applyController = controller; 638 _applyController = controller;
637 _streams.onLogPool.add(controller.onLog); 639 _streams.onLogPool.add(controller.onLog);
638 for (var primary in _primaries) { 640 for (var primary in _primaries) {
639 if (!primary.state.isAvailable) continue; 641 if (!primary.state.isAvailable) continue;
640 controller.addInput(primary.asset); 642 controller.addInput(primary.asset);
641 } 643 }
642 _maybeFinishApplyController(); 644 _maybeFinishApplyController();
643 645
644 var transformCounterTimer; 646 var transformCounterTimer;
645 647
646 return syncFuture(() { 648 return DelegatingFuture.typed(new Future.sync(() {
647 _timeInTransformer.reset(); 649 _timeInTransformer.reset();
648 _timeAwaitingInputs.reset(); 650 _timeAwaitingInputs.reset();
649 _timeInTransformer.start(); 651 _timeInTransformer.start();
650 652
651 transformCounterTimer = new Timer.periodic(_applyLogDuration, (_) { 653 transformCounterTimer = new Timer.periodic(_applyLogDuration, (_) {
652 if (_streams.onLogController.isClosed || 654 if (_streams.onLogController.isClosed ||
653 !_timeInTransformer.isRunning) { 655 !_timeInTransformer.isRunning) {
654 return; 656 return;
655 } 657 }
656 658
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
718 return false; 720 return false;
719 }).catchError((error, stackTrace) { 721 }).catchError((error, stackTrace) {
720 // If the transform became dirty while processing, ignore any errors from 722 // If the transform became dirty while processing, ignore any errors from
721 // it. 723 // it.
722 if (_state == _State.NEEDS_APPLY || _isRemoved) return false; 724 if (_state == _State.NEEDS_APPLY || _isRemoved) return false;
723 725
724 // Catch all transformer errors and pipe them to the results stream. This 726 // Catch all transformer errors and pipe them to the results stream. This
725 // is so a broken transformer doesn't take down the whole graph. 727 // is so a broken transformer doesn't take down the whole graph.
726 phase.cascade.reportError(_wrapException(error, stackTrace)); 728 phase.cascade.reportError(_wrapException(error, stackTrace));
727 return true; 729 return true;
728 }); 730 }));
729 } 731 }
730 732
731 /// Handle the results of running [Transformer.apply]. 733 /// Handle the results of running [Transformer.apply].
732 /// 734 ///
733 /// [controller] should be the controller for the [AggegateTransform] passed 735 /// [controller] should be the controller for the [AggegateTransform] passed
734 /// to [AggregateTransformer.apply]. 736 /// to [AggregateTransformer.apply].
735 void _handleApplyResults(AggregateTransformController controller) { 737 void _handleApplyResults(AggregateTransformController controller) {
736 _consumedPrimaries = controller.consumedPrimaries; 738 _consumedPrimaries = controller.consumedPrimaries;
737 739
738 var newOutputs = controller.outputs; 740 var newOutputs = controller.outputs;
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
914 /// declaring and [APPLYING] otherwise. If a primary input is added or 916 /// declaring and [APPLYING] otherwise. If a primary input is added or
915 /// removed, this will transition to [DECLARING]. 917 /// removed, this will transition to [DECLARING].
916 static const APPLIED = const _State._("applied"); 918 static const APPLIED = const _State._("applied");
917 919
918 final String name; 920 final String name;
919 921
920 const _State._(this.name); 922 const _State._(this.name);
921 923
922 String toString() => name; 924 String toString() => name;
923 } 925 }
OLDNEW
« no previous file with comments | « packages/barback/lib/src/graph/static_asset_cascade.dart ('k') | packages/barback/lib/src/graph/transformer_classifier.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698