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

Side by Side Diff: runtime/bin/vmservice/client/lib/src/observatory/request_manager.dart

Issue 51653006: Track live instance and allocation counts for classes (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 11 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 | Annotate | Revision Log
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 part of observatory; 5 part of observatory;
6 6
7 /// A request response interceptor is called for each response. 7 /// A request response interceptor is called for each response.
8 typedef void RequestResponseInterceptor(); 8 typedef void RequestResponseInterceptor();
9 9
10 abstract class RequestManager extends Observable { 10 abstract class RequestManager extends Observable {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 window.onMessage.listen(_messageHandler); 87 window.onMessage.listen(_messageHandler);
88 } 88 }
89 89
90 void _messageHandler(msg) { 90 void _messageHandler(msg) {
91 var id = msg.data['id']; 91 var id = msg.data['id'];
92 var name = msg.data['name']; 92 var name = msg.data['name'];
93 var data = msg.data['data']; 93 var data = msg.data['data'];
94 if (name != 'observatoryData') { 94 if (name != 'observatoryData') {
95 return; 95 return;
96 } 96 }
97 print('Got reply $id $data');
98 var completer = _outstandingRequests[id]; 97 var completer = _outstandingRequests[id];
99 if (completer != null) { 98 if (completer != null) {
100 _outstandingRequests.remove(id); 99 _outstandingRequests.remove(id);
101 print('Completing $id'); 100 print('Completing $id');
102 completer.complete(data); 101 completer.complete(data);
103 } else { 102 } else {
104 print('Could not find completer for $id'); 103 print('Could not find completer for $id');
105 } 104 }
106 } 105 }
107 106
108 Future<String> request(String requestString) { 107 Future<String> request(String requestString) {
109 var idString = '$_requestSerial'; 108 var idString = '$_requestSerial';
110 Map message = {}; 109 Map message = {};
111 message['id'] = idString; 110 message['id'] = idString;
112 message['method'] = 'observatoryQuery'; 111 message['method'] = 'observatoryQuery';
113 message['query'] = requestString; 112 message['query'] = requestString;
114 _requestSerial++; 113 _requestSerial++;
115 114
116 var completer = new Completer(); 115 var completer = new Completer();
117 _outstandingRequests[idString] = completer; 116 _outstandingRequests[idString] = completer;
118 117
119 window.parent.postMessage(JSON.encode(message), '*'); 118 window.parent.postMessage(JSON.encode(message), '*');
120 return completer.future; 119 return completer.future;
121 } 120 }
122 } 121 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698