-
Notifications
You must be signed in to change notification settings - Fork 80
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