-
Notifications
You must be signed in to change notification settings - Fork 77
Cleanup transfer manager #619
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup transfer manager #619
Conversation
5b577e3 to
14e0235
Compare
14e0235 to
985bb73
Compare
|
With the above changes the PR makes the PerfettoCollector work fine without specifying an explicit pull timeout so looks like it works :) |
985bb73 to
89c8fe4
Compare
|
@mrkajetanp I updated the PR with your review, thanks for testing it |
|
We should be good to go then! I'll update the Collector PR to drop the timeout in that case |
89c8fe4 to
756a96b
Compare
756a96b to
a05d6c3
Compare
|
PR updated with both typos fixed |
a053d55 to
46f42fa
Compare
|
PR updated:
Thanks a lot for the testing |
46f42fa to
29517b3
Compare
|
PR updated with:
|
Implement a sane interface avoiding variable positional arguments.
29517b3 to
492e337
Compare
* Split TransferManager and TransferHandle:
* TransferManager deals with the generic monitoring. To abort a
transfer, it simply cancels the transfer and raises an exception
from manage().
* TransferHandle provides a way for the manager to query the state
of the transfer and cancel it. It is backend-specific.
* Remove most of the state in TransferManager, along with the associated
background command leak etc
* Use a daemonic monitor thread to behave as excpected on interpreter
shutdown.
* Ensure a transfer manager _always_ exists. When no management is
desired, a noop object is used. This avoids using a None sentinel,
which is invariably mishandled by some code leading to crashes.
* Try to merge more paths in the code to uncover as many issues as
possible in testing.
* Fix percentage for SSHTransferHandle (transferred / (remaining +
transferred) instead of transferred / remaining)
* Rename total_timeout TransferManager parameter and attribute to
total_transfer_timeout to match the connection name parameter.
492e337 to
5c53ce3
Compare
|
PR updated with s/mgr/manager, and rebased on master (there was a conflict so we might want to give it a last spin before merging) |
Cleanup and simplify transfer manager infrastructure to make it more reliable.
WARNING: Not tested on SSH connection yet.
Tested on android along #618