Skip to content

Commit 7641a13

Browse files
Replace VmService with VmServiceWrapper (#57)
* Replace VmService with VmServiceWrapper.
1 parent dd99d2a commit 7641a13

File tree

12 files changed

+409
-41
lines changed

12 files changed

+409
-41
lines changed

lib/device/device.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'dart:async';
66
import 'dart:html' as html;
77

8+
import 'package:devtools/vm_service_wrapper.dart';
89
import 'package:vm_service_lib/vm_service_lib.dart';
910

1011
import '../framework/framework.dart';
@@ -53,7 +54,7 @@ class DeviceScreen extends Screen {
5354
_rebuildTogglesDiv();
5455
}
5556

56-
void _handleConnectionStart(VmService service) {
57+
void _handleConnectionStart(VmServiceWrapper service) {
5758
extensionTracker = new ExtensionTracker(service);
5859
extensionTracker.start();
5960

@@ -142,7 +143,7 @@ class ExtensionTracker {
142143
final StreamController<Null> _changeController =
143144
new StreamController<Null>.broadcast();
144145

145-
VmService service;
146+
VmServiceWrapper service;
146147

147148
Map<String, Set<IsolateRef>> extensionToIsolatesMap =
148149
<String, Set<IsolateRef>>{};

lib/eval_on_dart_library.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'dart:async';
22
import 'package:vm_service_lib/vm_service_lib.dart';
33

44
import 'globals.dart';
5+
import 'vm_service_wrapper.dart';
56

67
class EvalOnDartLibrary {
78
EvalOnDartLibrary(this.libraryName, this.service) {
@@ -21,7 +22,7 @@ class EvalOnDartLibrary {
2122
}
2223

2324
final String libraryName;
24-
final VmService service;
25+
final VmServiceWrapper service;
2526
Completer<LibraryRef> _libraryRef;
2627
String _isolateId;
2728

lib/framework/framework_core.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'dart:html' hide Screen;
33
import 'package:devtools/globals.dart';
44
import 'package:devtools/service.dart';
55
import 'package:devtools/service_manager.dart';
6-
import 'package:vm_service_lib/vm_service_lib.dart';
6+
import 'package:devtools/vm_service_wrapper.dart';
77

88
class FrameworkCore {
99
static void init() {
@@ -30,7 +30,7 @@ class FrameworkCore {
3030
final Completer<Null> finishedCompleter = new Completer<Null>();
3131

3232
try {
33-
final VmService service =
33+
final VmServiceWrapper service =
3434
await connect('localhost', port, finishedCompleter);
3535
if (serviceManager != null) {
3636
serviceManager.vmServiceOpened(service, finishedCompleter.future);

lib/logging/logging.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'dart:async';
66
import 'dart:convert';
77

8+
import 'package:devtools/vm_service_wrapper.dart';
89
import 'package:intl/intl.dart';
910
import 'package:vm_service_lib/vm_service_lib.dart';
1011

@@ -109,7 +110,7 @@ class LoggingScreen extends Screen {
109110
HelpInfo get helpInfo =>
110111
new HelpInfo(title: 'logs view docs', url: 'http://www.cheese.com');
111112

112-
void _handleConnectionStart(VmService service) {
113+
void _handleConnectionStart(VmServiceWrapper service) {
113114
if (ref == null) {
114115
return;
115116
}
@@ -261,7 +262,7 @@ class LoggingScreen extends Screen {
261262
}
262263

263264
Future<String> _retrieveFullStringValue(
264-
VmService service,
265+
VmServiceWrapper service,
265266
IsolateRef isolateRef,
266267
InstanceRef stringRef,
267268
) async {

lib/memory/memory.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'dart:async';
66
import 'dart:collection';
77
import 'dart:math' as math;
88

9+
import 'package:devtools/vm_service_wrapper.dart';
910
import 'package:vm_service_lib/vm_service_lib.dart';
1011

1112
import '../charts/charts.dart';
@@ -229,7 +230,7 @@ class MemoryScreen extends Screen {
229230
HelpInfo get helpInfo =>
230231
new HelpInfo(title: 'memory view docs', url: 'http://www.cheese.com');
231232

232-
void _handleConnectionStart(VmService service) {
233+
void _handleConnectionStart(VmServiceWrapper service) {
233234
loadSnapshotButton.disabled = false;
234235
memoryChart.disabled = false;
235236

@@ -393,7 +394,7 @@ class MemoryTracker {
393394
static const Duration kMaxGraphTime = Duration(minutes: 1);
394395
static const Duration kUpdateDelay = Duration(seconds: 1);
395396

396-
VmService service;
397+
VmServiceWrapper service;
397398
Timer _pollingTimer;
398399
final StreamController<Null> _changeController =
399400
new StreamController<Null>.broadcast();

lib/performance/performance.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'dart:async';
66
import 'dart:math' as math;
77

8+
import 'package:devtools/vm_service_wrapper.dart';
89
import 'package:vm_service_lib/vm_service_lib.dart';
910

1011
import '../charts/charts.dart';
@@ -182,7 +183,7 @@ class PerformanceScreen extends Screen {
182183
})));
183184
}
184185

185-
void _handleConnectionStart(VmService service) {
186+
void _handleConnectionStart(VmServiceWrapper service) {
186187
cpuChart.disabled = false;
187188

188189
cpuTracker = new CpuTracker(service);
@@ -255,7 +256,7 @@ class CpuTracker {
255256
static const Duration kMaxGraphTime = Duration(minutes: 1);
256257
static const Duration kUpdateDelay = Duration(seconds: 1);
257258

258-
VmService service;
259+
VmServiceWrapper service;
259260
Timer _pollingTimer;
260261
final StreamController<Null> _changeController =
261262
new StreamController<Null>.broadcast();

lib/service.dart

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@ import 'dart:async';
22
import 'dart:html' hide Event;
33
import 'dart:typed_data';
44

5-
import 'package:vm_service_lib/vm_service_lib.dart';
5+
import 'vm_service_wrapper.dart';
66

7-
Future<VmService> connect(
7+
Future<VmServiceWrapper> connect(
88
String host, int port, Completer<Null> finishedCompleter) {
99
final WebSocket ws = new WebSocket('ws://$host:$port/ws');
1010

11-
final Completer<VmService> connectedCompleter = new Completer<VmService>();
11+
final Completer<VmServiceWrapper> connectedCompleter =
12+
new Completer<VmServiceWrapper>();
1213

1314
ws.onOpen.listen((_) {
1415
final Stream<dynamic> inStream =
@@ -26,7 +27,7 @@ Future<VmService> connect(
2627
}
2728
});
2829

29-
final VmService service = new VmService(
30+
final VmServiceWrapper service = new VmServiceWrapper.fromNewVmService(
3031
inStream,
3132
(String message) => ws.send(message),
3233
);

lib/service_manager.dart

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:meta/meta.dart';
88
import 'package:vm_service_lib/vm_service_lib.dart';
99

1010
import 'eval_on_dart_library.dart';
11+
import 'vm_service_wrapper.dart';
1112

1213
class ServiceConnectionManager {
1314
ServiceConnectionManager() {
@@ -21,8 +22,8 @@ class ServiceConnectionManager {
2122
}
2223
final StreamController<Null> _stateController =
2324
new StreamController<Null>.broadcast();
24-
final StreamController<VmService> _connectionAvailableController =
25-
new StreamController<VmService>.broadcast();
25+
final StreamController<VmServiceWrapper> _connectionAvailableController =
26+
new StreamController<VmServiceWrapper>.broadcast();
2627
final StreamController<Null> _connectionClosedController =
2728
new StreamController<Null>.broadcast();
2829

@@ -33,21 +34,23 @@ class ServiceConnectionManager {
3334
ServiceExtensionManager get serviceExtensionManager =>
3435
_serviceExtensionManager;
3536

36-
VmService service;
37+
VmServiceWrapper service;
3738
VM vm;
3839
String sdkVersion;
3940

4041
bool get hasConnection => service != null;
4142

4243
Stream<Null> get onStateChange => _stateController.stream;
4344

44-
Stream<VmService> get onConnectionAvailable =>
45+
Stream<VmServiceWrapper> get onConnectionAvailable =>
4546
_connectionAvailableController.stream;
4647

4748
Stream<Null> get onConnectionClosed => _connectionClosedController.stream;
4849

49-
void vmServiceOpened(VmService service, Future<void> onClosed) {
50-
service.getVM().then((VM vm) {
50+
Future<void> vmServiceOpened(
51+
VmServiceWrapper service, Future<void> onClosed) async {
52+
try {
53+
final vm = await service.getVM();
5154
this.vm = vm;
5255
sdkVersion = vm.version;
5356
if (sdkVersion.contains(' ')) {
@@ -78,10 +81,10 @@ class ServiceConnectionManager {
7881
service.streamListen('Extension');
7982
service.streamListen('_Graph');
8083
service.streamListen('_Logging');
81-
}).catchError((dynamic e) {
84+
} catch (e) {
8285
// TODO:
8386
print(e);
84-
});
87+
}
8588
}
8689

8790
void vmServiceClosed() {
@@ -104,7 +107,7 @@ class IsolateManager {
104107
List<IsolateRef> _isolates = <IsolateRef>[];
105108
IsolateRef _selectedIsolate;
106109
IsolateRef _flutterIsolate;
107-
VmService _service;
110+
VmServiceWrapper _service;
108111
ServiceExtensionManager _serviceExtensionManager;
109112

110113
StreamController<IsolateRef> _flutterIsolateController;
@@ -230,7 +233,7 @@ class IsolateManager {
230233
}
231234

232235
class ServiceExtensionManager {
233-
VmService _service;
236+
VmServiceWrapper _service;
234237
IsolateManager _isolateManager;
235238

236239
bool firstFrameEventReceived = false;

lib/timeline/fps.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'dart:async';
66
import 'dart:math' as math;
77

8+
import 'package:devtools/vm_service_wrapper.dart';
89
import 'package:vm_service_lib/vm_service_lib.dart';
910

1011
import '../charts/charts.dart';
@@ -95,7 +96,7 @@ class FramesTracker {
9596

9697
static const int kMaxFrames = 60;
9798

98-
VmService service;
99+
VmServiceWrapper service;
99100
final StreamController<Null> _changeController =
100101
new StreamController<Null>.broadcast();
101102
List<FrameInfo> samples = <FrameInfo>[];

lib/timeline/timeline.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'dart:async';
66
import 'dart:math' as math;
77

8+
import 'package:devtools/vm_service_wrapper.dart';
89
import 'package:vm_service_lib/vm_service_lib.dart' hide TimelineEvent;
910

1011
import '../framework/framework.dart';
@@ -148,7 +149,7 @@ class TimelineScreen extends Screen {
148149
_updateListeningState();
149150
}
150151

151-
void _handleConnectionStart(VmService service) {
152+
void _handleConnectionStart(VmServiceWrapper service) {
152153
framesChart.disabled = false;
153154

154155
framesTracker = new FramesTracker(service);

0 commit comments

Comments
 (0)