A big part of my online use is done via a low-speed connection over my mobile phone, this is limited to 16KB/sec because I always use up my 500MB quota the very first day of the month. ;-/
So when I need to download big files, I first download them to my online server, then transfer the files to my laptop with git-annex. If I'm connected via GSM, this occupies all the bandwidth and everything else moves like a heavily sedated slug. So if I want to work via VNC or SSH, I have to terminate ongoing transfers with Ctrl-C and then hopefully remember to restart it when I work locally. I know git-annex is robust enough to handle this gracefully, but it would be really nice to have a continuous connection going on in the background, limited to a value I choose.
rsync(1) has a --bwlimit
(bandwidth limit) where you can specify max download/upload speed in kilobytes/sec. It would be great if a similar option was integrated into git-annex. Thanks in advance.
not exactly integrated, but you can easily use trickle for this.
In addition to trickle, the git-annex man page has examples of how to make rsync use --bwlimit
Something like trickle is needed to limit rates for remotes not using rsync, however.
annex.bwlimit is the limit for each transfer, it doesn't take into account how many transfers might be running whether by --jobs or multiple git-annex processes.