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

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 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 window.onMessage.listen(_messageHandler); 258 window.onMessage.listen(_messageHandler);
259 } 259 }
260 260
261 void _messageHandler(msg) { 261 void _messageHandler(msg) {
262 var id = msg.data['id']; 262 var id = msg.data['id'];
263 var name = msg.data['name']; 263 var name = msg.data['name'];
264 var data = msg.data['data']; 264 var data = msg.data['data'];
265 if (name != 'observatoryData') { 265 if (name != 'observatoryData') {
266 return; 266 return;
267 } 267 }
268 print('Got reply $id $data');
269 var completer = _outstandingRequests[id]; 268 var completer = _outstandingRequests[id];
270 if (completer != null) { 269 if (completer != null) {
271 _outstandingRequests.remove(id); 270 _outstandingRequests.remove(id);
272 print('Completing $id'); 271 print('Completing $id');
273 completer.complete(data); 272 completer.complete(data);
274 } else { 273 } else {
275 print('Could not find completer for $id'); 274 print('Could not find completer for $id');
276 } 275 }
277 } 276 }
278 277
279 Future<String> request(String requestString) { 278 Future<String> request(String requestString) {
280 var idString = '$_requestSerial'; 279 var idString = '$_requestSerial';
281 Map message = {}; 280 Map message = {};
282 message['id'] = idString; 281 message['id'] = idString;
283 message['method'] = 'observatoryQuery'; 282 message['method'] = 'observatoryQuery';
284 message['query'] = requestString; 283 message['query'] = requestString;
285 _requestSerial++; 284 _requestSerial++;
286 285
287 var completer = new Completer(); 286 var completer = new Completer();
288 _outstandingRequests[idString] = completer; 287 _outstandingRequests[idString] = completer;
289 288
290 window.parent.postMessage(JSON.encode(message), '*'); 289 window.parent.postMessage(JSON.encode(message), '*');
291 return completer.future; 290 return completer.future;
292 } 291 }
293 } 292 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698