Peter Surda
ca567acab3
- instead of being processed in the ReceiveQueue thread, uploads are now done in a dedicated thread. Only the parsing is done in ReceiveQueue thread. - the UploadThread is modelled based on the DownloadThred, but simpler. - it checks for intersection attack, eliminates duplicates and restricts the write buffer size to 2MB (may still grow slightly higher if too many big objects are requested, but the absolute limit appears to be about 4.5MB in the worst case scenario). - the restriction of the write buffer may cause some upload throttling (to about 2MB per second per connection), but can be optimised later - fixes #1414 |
||
---|---|---|
.. | ||
__init__.py | ||
addrthread.py | ||
advanceddispatcher.py | ||
announcethread.py | ||
asyncore_pollchoose.py | ||
bmobject.py | ||
bmproto.py | ||
connectionchooser.py | ||
connectionpool.py | ||
dandelion.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 | ||
uploadthread.py |