Add return_on_result flag, to return immediately when a result is received #105
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CHANGELOG.md
Summary of changes
When I run a command and wait for the response, many times I don't want to wait for the entire timeout. So I added a flag return_on_result, which returns immediately when a response of type 'result' is received.
Notes:
IoManager.write()
as well, together withtimeout_sec
andraise_error_on_timeout
which are also passed toget_gdb_response()
. I added it afterraise_error_on_timeout
and beforeread_response
, to keep it with the otherget_gdb_response()
flags. However, this will break code that setsread_response
as a positional argument (meaning:iomanager.write('-cmd', timeout, raise_error_on_timeout, read_response)
. I leave it up to you to decide if you prefer better backwards compatibility or a more logical ordering of arguments.Test plan
I added an automated test which sets the
return_on_result
flag and makes sure it returns fast. You can see it fail by replacingTrue
withFalse
intest_gdbcontroller.py
: