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

Side by Side Diff: pkg/analysis_server/lib/src/analysis_server.dart

Issue 904733003: Rework requests in execution domain (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Clean-up Created 5 years, 10 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 analysis.server; 5 library analysis.server;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 import 'dart:math' show max; 9 import 'dart:math' show max;
10 10
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 60
61 /** 61 /**
62 * Instances of the class [AnalysisServer] implement a server that listens on a 62 * Instances of the class [AnalysisServer] implement a server that listens on a
63 * [CommunicationChannel] for analysis requests and process them. 63 * [CommunicationChannel] for analysis requests and process them.
64 */ 64 */
65 class AnalysisServer { 65 class AnalysisServer {
66 /** 66 /**
67 * The version of the analysis server. The value should be replaced 67 * The version of the analysis server. The value should be replaced
68 * automatically during the build. 68 * automatically during the build.
69 */ 69 */
70 static final String VERSION = '1.0.0'; 70 static final String VERSION = '1.1.0';
71 71
72 /** 72 /**
73 * The number of milliseconds to perform operations before inserting 73 * The number of milliseconds to perform operations before inserting
74 * a 1 millisecond delay so that the VM and dart:io can deliver content 74 * a 1 millisecond delay so that the VM and dart:io can deliver content
75 * to stdin. This should be removed once the underlying problem is fixed. 75 * to stdin. This should be removed once the underlying problem is fixed.
76 */ 76 */
77 static int performOperationDelayFreqency = 25; 77 static int performOperationDelayFreqency = 25;
78 78
79 /** 79 /**
80 * The channel from which requests are received and to which responses should 80 * The channel from which requests are received and to which responses should
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 /** 347 /**
348 * Return the preferred [AnalysisContext] for analyzing the given [path]. 348 * Return the preferred [AnalysisContext] for analyzing the given [path].
349 * This will be the context that explicitly contains the path, if any such 349 * This will be the context that explicitly contains the path, if any such
350 * context exists, otherwise it will be the first analysis context that 350 * context exists, otherwise it will be the first analysis context that
351 * implicitly analyzes it. Return `null` if no context is analyzing the 351 * implicitly analyzes it. Return `null` if no context is analyzing the
352 * path. 352 * path.
353 */ 353 */
354 AnalysisContext getAnalysisContext(String path) { 354 AnalysisContext getAnalysisContext(String path) {
355 // try to find a containing context 355 // try to find a containing context
356 for (Folder folder in folderMap.keys) { 356 for (Folder folder in folderMap.keys) {
357 if (folder.contains(path)) { 357 if (folder.path == path || folder.contains(path)) {
358 return folderMap[folder]; 358 return folderMap[folder];
359 } 359 }
360 } 360 }
361 Resource resource = resourceProvider.getResource(path);
362 if (resource is Folder) {
363 return null;
364 }
361 // check if there is a context that analyzed this source 365 // check if there is a context that analyzed this source
362 return getAnalysisContextForSource(getSource(path)); 366 return getAnalysisContextForSource(getSource(path));
363 } 367 }
364 368
365 /** 369 /**
366 * Return any [AnalysisContext] that is analyzing the given [source], either 370 * Return any [AnalysisContext] that is analyzing the given [source], either
367 * explicitly or implicitly. Return `null` if there is no such context. 371 * explicitly or implicitly. Return `null` if there is no such context.
368 */ 372 */
369 AnalysisContext getAnalysisContextForSource(Source source) { 373 AnalysisContext getAnalysisContextForSource(Source source) {
370 for (AnalysisContext context in folderMap.values) { 374 for (AnalysisContext context in folderMap.values) {
(...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after
1257 new DateTime.now().millisecondsSinceEpoch - 1261 new DateTime.now().millisecondsSinceEpoch -
1258 request.clientRequestTime; 1262 request.clientRequestTime;
1259 requestLatency += latency; 1263 requestLatency += latency;
1260 maxLatency = max(maxLatency, latency); 1264 maxLatency = max(maxLatency, latency);
1261 if (latency > 150) { 1265 if (latency > 150) {
1262 ++slowRequestCount; 1266 ++slowRequestCount;
1263 } 1267 }
1264 } 1268 }
1265 } 1269 }
1266 } 1270 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698