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

Side by Side Diff: runtime/observatory/lib/service_common.dart

Issue 1257943003: Support JSON-RPC 2.0-compatible VM service events. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: cr Created 5 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
« no previous file with comments | « CHANGELOG.md ('k') | runtime/vm/service.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 service_common; 5 library service_common;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:convert'; 8 import 'dart:convert';
9 import 'dart:typed_data'; 9 import 'dart:typed_data';
10 10
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 int metaSize = bytes.getUint32(offset + 4, Endianness.BIG_ENDIAN); 197 int metaSize = bytes.getUint32(offset + 4, Endianness.BIG_ENDIAN);
198 offset += 8; 198 offset += 8;
199 var meta = _utf8Decoder.convert(new Uint8List.view( 199 var meta = _utf8Decoder.convert(new Uint8List.view(
200 bytes.buffer, bytes.offsetInBytes + offset, metaSize)); 200 bytes.buffer, bytes.offsetInBytes + offset, metaSize));
201 offset += metaSize; 201 offset += metaSize;
202 var data = new ByteData.view( 202 var data = new ByteData.view(
203 bytes.buffer, 203 bytes.buffer,
204 bytes.offsetInBytes + offset, 204 bytes.offsetInBytes + offset,
205 bytes.lengthInBytes - offset); 205 bytes.lengthInBytes - offset);
206 var map = _parseJSON(meta); 206 var map = _parseJSON(meta);
207 if (map == null) { 207 if (map == null || map['method'] != 'streamNotify') {
208 return; 208 return;
209 } 209 }
210 var event = map['event']; 210 var event = map['params']['event'];
211 var streamId = map['streamId']; 211 var streamId = map['params']['streamId'];
212 postServiceEvent(streamId, event, data); 212 postServiceEvent(streamId, event, data);
213 }); 213 });
214 } 214 }
215 215
216 void _onStringMessage(String data) { 216 void _onStringMessage(String data) {
217 var map = _parseJSON(data); 217 var map = _parseJSON(data);
218 if (map == null) { 218 if (map == null) {
219 return; 219 return;
220 } 220 }
221 var event = map['event']; 221
222 if (event != null) { 222 if (map['method'] == 'streamNotify') {
223 var streamId = map['streamId']; 223 var event = map['params']['event'];
224 var streamId = map['params']['streamId'];
224 postServiceEvent(streamId, event, null); 225 postServiceEvent(streamId, event, null);
225 return; 226 return;
226 } 227 }
227 228
228 // Extract serial and result. 229 // Extract serial and result.
229 var serial = map['id']; 230 var serial = map['id'];
230 231
231 // Complete request. 232 // Complete request.
232 var request = _pendingRequests.remove(serial); 233 var request = _pendingRequests.remove(serial);
233 if (request == null) { 234 if (request == null) {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 if (request.method != 'getTagProfile' && 320 if (request.method != 'getTagProfile' &&
320 request.method != 'getIsolateMetric' && 321 request.method != 'getIsolateMetric' &&
321 request.method != 'getVMMetric') { 322 request.method != 'getVMMetric') {
322 Logger.root.info( 323 Logger.root.info(
323 'GET [${serial}] ${request.method}(${request.params}) from ${target.ne tworkAddress}'); 324 'GET [${serial}] ${request.method}(${request.params}) from ${target.ne tworkAddress}');
324 } 325 }
325 // Send message. 326 // Send message.
326 _webSocket.send(message); 327 _webSocket.send(message);
327 } 328 }
328 } 329 }
OLDNEW
« no previous file with comments | « CHANGELOG.md ('k') | runtime/vm/service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698