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 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 postServiceEvent(meta, data); | 179 postServiceEvent(meta, data); |
180 }); | 180 }); |
181 } | 181 } |
182 | 182 |
183 void _onStringMessage(String data) { | 183 void _onStringMessage(String data) { |
184 var map = JSON.decode(data); | 184 var map = JSON.decode(data); |
185 if (map == null) { | 185 if (map == null) { |
186 Logger.root.severe('WebSocketVM got empty message'); | 186 Logger.root.severe('WebSocketVM got empty message'); |
187 return; | 187 return; |
188 } | 188 } |
189 // Extract serial and response. | 189 // Extract serial and result. |
190 var serial; | 190 var serial; |
191 var response; | 191 var result; |
192 serial = map['id']; | 192 serial = map['id']; |
193 response = map['response']; | 193 result = map['result']; |
194 if (serial == null) { | 194 if (serial == null) { |
195 // Messages without serial numbers are asynchronous events | 195 // Messages without serial numbers are asynchronous events |
196 // from the vm. | 196 // from the vm. |
197 postServiceEvent(response, null); | 197 postServiceEvent(result, null); |
198 return; | 198 return; |
199 } | 199 } |
200 // Complete request. | 200 // Complete request. |
201 var request = _pendingRequests.remove(serial); | 201 var request = _pendingRequests.remove(serial); |
202 if (request == null) { | 202 if (request == null) { |
203 Logger.root.severe('Received unexpected message: ${map}'); | 203 Logger.root.severe('Received unexpected message: ${map}'); |
204 return; | 204 return; |
205 } | 205 } |
206 if (request.method != 'getTagProfile' && | 206 if (request.method != 'getTagProfile' && |
207 request.method != 'getIsolateMetric' && | 207 request.method != 'getIsolateMetric' && |
208 request.method != 'getVMMetric') { | 208 request.method != 'getVMMetric') { |
209 Logger.root.info( | 209 Logger.root.info( |
210 'RESPONSE [${serial}] ${request.method}'); | 210 'RESPONSE [${serial}] ${request.method}'); |
211 } | 211 } |
212 request.completer.complete(response); | 212 request.completer.complete(result); |
213 } | 213 } |
214 | 214 |
215 // WebSocket message event handler. | 215 // WebSocket message event handler. |
216 void _onMessage(dynamic data) { | 216 void _onMessage(dynamic data) { |
217 if (data is! String) { | 217 if (data is! String) { |
218 _onBinaryMessage(data); | 218 _onBinaryMessage(data); |
219 } else { | 219 } else { |
220 _onStringMessage(data); | 220 _onStringMessage(data); |
221 } | 221 } |
222 } | 222 } |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 if (request.method != 'getTagProfile' && | 288 if (request.method != 'getTagProfile' && |
289 request.method != 'getIsolateMetric' && | 289 request.method != 'getIsolateMetric' && |
290 request.method != 'getVMMetric') { | 290 request.method != 'getVMMetric') { |
291 Logger.root.info( | 291 Logger.root.info( |
292 'GET [${serial}] ${request.method} from ${target.networkAddress}'); | 292 'GET [${serial}] ${request.method} from ${target.networkAddress}'); |
293 } | 293 } |
294 // Send message. | 294 // Send message. |
295 _webSocket.send(message); | 295 _webSocket.send(message); |
296 } | 296 } |
297 } | 297 } |
OLD | NEW |