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

Unified Diff: runtime/bin/vmservice/client/lib/src/elements/io_view.dart

Issue 291343009: Add initial Random Access File information to Observatory (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 7 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: runtime/bin/vmservice/client/lib/src/elements/io_view.dart
diff --git a/runtime/bin/vmservice/client/lib/src/elements/io_view.dart b/runtime/bin/vmservice/client/lib/src/elements/io_view.dart
index 0796775f8967da194b7edfa9dec7c8cc174fe882..bc5901478441fffe8dad1f4dee20550d9828f43e 100644
--- a/runtime/bin/vmservice/client/lib/src/elements/io_view.dart
+++ b/runtime/bin/vmservice/client/lib/src/elements/io_view.dart
@@ -70,4 +70,55 @@ class IOHttpServerViewElement extends ObservatoryElement {
_updateTimer = null;
}
}
-}
+}
+
+@CustomTag('io-random-access-file-list-view')
+class IORandomAccessFileListViewElement extends ObservatoryElement {
+ @published ServiceMap list;
+
+ IORandomAccessFileListViewElement.created() : super.created();
+
+ void refresh(var done) {
+ list.reload().whenComplete(done);
+ }
+}
+
+@CustomTag('io-random-access-file-ref')
+class IORandomAccessFileRefElement extends ServiceRefElement {
+ IORandomAccessFileRefElement.created() : super.created();
+}
+
+@CustomTag('io-random-access-file-view')
+class IORandomAccessFileViewElement extends ObservatoryElement {
+ // TODO(ajohnsen): Create a RandomAccessFile object.
+ @published ServiceMap file;
+ Timer _updateTimer;
+
+ IORandomAccessFileViewElement.created() : super.created();
+
+ void refresh(var done) {
+ file.reload().whenComplete(done);
+ }
+
+ void _updateFile() {
+ refresh(() {
+ if (_updateTimer != null) {
+ _updateTimer = new Timer(new Duration(seconds: 1), _updateFile);
+ }
+ });
+ }
+
+ void enteredView() {
+ super.enteredView();
+ // Start a timer to update the isolate summary once a second.
+ _updateTimer = new Timer(new Duration(seconds: 1), _updateFile);
+ }
+
+ void leftView() {
+ super.leftView();
+ if (_updateTimer != null) {
+ _updateTimer.cancel();
+ _updateTimer = null;
+ }
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698