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

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

Issue 575853002: Add tools/ddbg_service. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: gen js Created 6 years, 3 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) 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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 abstract class CommonWebSocketVM extends VM { 80 abstract class CommonWebSocketVM extends VM {
81 final Completer _connected = new Completer(); 81 final Completer _connected = new Completer();
82 final Completer _disconnected = new Completer(); 82 final Completer _disconnected = new Completer();
83 final WebSocketVMTarget target; 83 final WebSocketVMTarget target;
84 final Map<String, _WebSocketRequest> _delayedRequests = 84 final Map<String, _WebSocketRequest> _delayedRequests =
85 new Map<String, _WebSocketRequest>(); 85 new Map<String, _WebSocketRequest>();
86 final Map<String, _WebSocketRequest> _pendingRequests = 86 final Map<String, _WebSocketRequest> _pendingRequests =
87 new Map<String, _WebSocketRequest>(); 87 new Map<String, _WebSocketRequest>();
88 int _requestSerial = 0; 88 int _requestSerial = 0;
89 bool _hasInitiatedConnect = false; 89 bool _hasInitiatedConnect = false;
90 bool _hasFinishedConnect = false;
90 Utf8Decoder _utf8Decoder = new Utf8Decoder(); 91 Utf8Decoder _utf8Decoder = new Utf8Decoder();
91 92
92 CommonWebSocket _webSocket; 93 CommonWebSocket _webSocket;
93 94
94 CommonWebSocketVM(this.target, this._webSocket) { 95 CommonWebSocketVM(this.target, this._webSocket) {
95 assert(target != null); 96 assert(target != null);
96 } 97 }
97 98
98 void _notifyConnect() { 99 void _notifyConnect() {
100 _hasFinishedConnect = true;
99 if (!_connected.isCompleted) { 101 if (!_connected.isCompleted) {
100 Logger.root.info('WebSocketVM connection opened: ${target.networkAddress}' ); 102 Logger.root.info('WebSocketVM connection opened: ${target.networkAddress}' );
101 _connected.complete(this); 103 _connected.complete(this);
102 } 104 }
103 } 105 }
104 Future get onConnect => _connected.future; 106 Future get onConnect => _connected.future;
105 void _notifyDisconnect() { 107 void _notifyDisconnect() {
108 if (!_hasFinishedConnect) {
109 return;
110 }
106 if (!_disconnected.isCompleted) { 111 if (!_disconnected.isCompleted) {
107 Logger.root.info('WebSocketVM connection error: ${target.networkAddress}') ; 112 Logger.root.info('WebSocketVM connection error: ${target.networkAddress}') ;
108 _disconnected.complete(this); 113 _disconnected.complete(this);
109 } 114 }
110 } 115 }
111 Future get onDisconnect => _disconnected.future; 116 Future get onDisconnect => _disconnected.future;
112 117
113 void disconnect() { 118 void disconnect() {
114 if (_hasInitiatedConnect) { 119 if (_hasInitiatedConnect) {
115 _webSocket.close(); 120 _webSocket.close();
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 'query': request.id 281 'query': request.id
277 } 282 }
278 }); 283 });
279 } else { 284 } else {
280 message = JSON.encode({'seq': serial, 'request': request.id}); 285 message = JSON.encode({'seq': serial, 'request': request.id});
281 } 286 }
282 // Send message. 287 // Send message.
283 _webSocket.send(message); 288 _webSocket.send(message);
284 } 289 }
285 } 290 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698