Have added the option to switch between the direct download method using requests.Session (~100K/sec) and my own read-ahead logic which seems to have a race condition in it which breaks (~500K/sec)