Peter Surda
ba4162d7fe
- get rid of per-connection writeQueue/receiveQueue, and instead use strings and locking - minor code cleanup - all state handlers now should set expectBytes - almost all data processing happens in ReceiveDataThread, and AsyncoreThread is almost only I/O (plus TLS). AsyncoreThread simply puts the connection object into the queue when it has some data for processing - allow poll, epoll and kqueue handlers. kqueue is untested and unoptimised, poll and epoll seem to work ok (linux) - stack depth threshold handler in decode_payload_content, this is recursive and I think was causing occasional RuntimeErrors. Fixes #964 - longer asyncore loops, as now data is handled in ReceiveDataThread - randomise node order when deciding what to download. Should prevent retries being stuck to the same node - socks cleanup (socks5 works ok, socks4a untested but should work too) |
||
---|---|---|
.. | ||
__init__.py | ||
addrthread.py | ||
advanceddispatcher.py | ||
announcethread.py | ||
asyncore_pollchoose.py | ||
bmobject.py | ||
bmproto.py | ||
connectionchooser.py | ||
connectionpool.py | ||
downloadqueue.py | ||
downloadthread.py | ||
http-old.py | ||
http.py | ||
httpd.py | ||
https.py | ||
invthread.py | ||
networkthread.py | ||
node.py | ||
objectracker.py | ||
proxy.py | ||
receivequeuethread.py | ||
socks4a.py | ||
socks5.py | ||
stats.py | ||
tcp.py | ||
tls.py | ||
udp.py | ||
uploadqueue.py |