OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |