mirror of
https://github.com/ARM-software/devlib.git
synced 2025-01-31 02:00:45 +00:00
Jonathan Paynter
33397649b6
connection,targets: enable file transfer polling
For connections that allow for it (ADB and SSH using SFTP and SCP) this change enables file transfers to be polled to check if the transfer is still in progress after some period of time or whether the transfer should be terminated. If a timeout is specified in the call to ``pull`` or ``push`` then the transfer will not be polled and will terminate ordinarily when either the transfer completes or the timeout is reached. If a timeout is not specified, then the transfer will be polled if ``poll_transfers`` is set, otherwise the transfer will continue with no timeout at all. SSH transfers supply a callback to the transfer, that is called after every block of the source is transferred. If the callback has not been triggered within one poll period, then the transfer is cancelled. ADB transfers have the destination size polled every poll period, and the size compared to the previous poll to check if the transfer has stalled. When the destination is no longer growing in size, the poller will attempt to kill the subprocess to end the transfer. If the transfer is still active, but the total transfer time has exceeded the ``total_timeout`` (default: 1 hour) the transfer will then also be killed. Transfer polling will only begin after the ``start_transfer_poll_delay`` time has elapsed. Polling periods that are too small may incorrectly cancel transfers.
devlib ====== ``devlib`` exposes an interface for interacting with and collecting measurements from a variety of devices (such as mobile phones, tablets and development boards) running a Linux-based operating system. Installation ------------ :: sudo -H pip install devlib Dependencies ------------ ``devlib`` should install all dependencies automatically, however if you run into issues please ensure you are using that latest version of pip. On some systems there may additional steps required to install the dependency ``paramiko`` please consult the `module documentation <http://www.paramiko.org/installing.html>`_ for more information. Usage ----- Please refer to the "Overview" section of the `documentation <http://devlib.readthedocs.io/en/latest/>`_. License ------- This package is distributed under `Apache v2.0 License <http://www.apache.org/licenses/LICENSE-2.0>`_. Feedback, Contrubutions and Support ----------------------------------- - Please use the GitHub Issue Tracker associated with this repository for feedback. - ARM licensees may contact ARM directly via their partner managers. - We welcome code contributions via GitHub Pull requests. Please try to stick to the style in the rest of the code for your contributions.
Description
Languages
Python
96%
Shell
1.8%
C
1.4%
Java
0.5%
Dockerfile
0.3%