Add optional 'timeout' field to 'completion.getSuggestions2'.

The intended use is in benchmarking, to specify a long timeout, so that
the first time, when we warm up, we do necessary one time work,
which would usually run out of budget the first few times. So, the
requests that we do measure are more stable.

Change-Id: I22e870b84dcd6f2ac201c5ec57081c39c6529ea1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220129
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
Konstantin Shcheglov
2021-11-15 16:48:42 +00:00
committed by commit-bot@chromium.org
parent 51df1855ff
commit ad5da2976b
9 changed files with 73 additions and 13 deletions
@@ -441,8 +441,12 @@ public interface AnalysisServer {
* @param offset The offset within the file at which suggestions are to be made.
* @param maxResults The maximum number of suggestions to return. If the number of suggestions
* after filtering is greater than the maxResults, then isIncomplete is set to true.
* @param timeout The approximate time in milliseconds that the server should spend. The server
* will perform some steps anyway, even if it takes longer than the specified timeout. This
* field is intended to be used for benchmarking, and usually should not be provided, so
* that the default timeout is used.
*/
public void completion_getSuggestions2(String file, int offset, int maxResults, GetSuggestions2Consumer consumer);
public void completion_getSuggestions2(String file, int offset, int maxResults, int timeout, GetSuggestions2Consumer consumer);
/**
* {@code completion.registerLibraryPaths}