Closes #7235. Instead of setting KeepService's pycurl.TIMEOUT_MS, set pycurl.LOW_SPEE...
authorsguthrie <sallyeguthrie@gmail.com>
Tue, 10 Nov 2015 20:23:18 +0000 (15:23 -0500)
committersguthrie <sallyeguthrie@gmail.com>
Tue, 17 Nov 2015 21:45:08 +0000 (16:45 -0500)
commite9c78ef7855e7ae263fe461e069c89ff7fc0b798
tree7740c230f6e6a6fc5fa6e6a37ca4f80fb7728ae0
parent714c555bda26a6a27fad7caef382d1d6705ad215
Closes #7235. Instead of setting KeepService's pycurl.TIMEOUT_MS, set pycurl.LOW_SPEED_LIMIT and pycurl.LOW_SPEED_TIME.
Default LOW_SPEED_LIMIT is 32768 bytes per second. Default LOW_SPEED_TIME is 64 seconds.
If the user specifies a length-two tuple, the first item sets CONNECTTIMEOUT_MS, the second item sets LOW_SPEED_TIME,
and LOW_SPEED_LIMIT is set to 32768 bytes per second.

Added bandwidth similator to keepstub, which uses millisecond precision (like curl) to measure timeouts.
Added tests to test_keep_client and modified existing tests to only use integers.
sdk/python/arvados/keep.py
sdk/python/tests/keepstub.py
sdk/python/tests/test_keep_client.py