This repository has been archived on 2024-12-08. You can view files and clone it, but cannot push or open issues or pull requests.
PyBitmessage-2024-12-08/src/network
Peter Surda ca567acab3
Put uploads into a separate thread
- 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
2018-12-20 20:34:01 +01:00
..
__init__.py changes needed to get current code to run 2017-02-25 00:06:04 -06:00
addrthread.py Minor multiqueue updates 2017-10-19 08:56:48 +02:00
advanceddispatcher.py Changes based on style and lint checks. (final_code_quality_3) 2018-10-31 12:58:46 +00:00
announcethread.py Peer discovery updates 2017-08-09 17:34:47 +02:00
asyncore_pollchoose.py Changes based on style and lint checks. (final_code_quality_5) 2018-10-31 14:04:35 +00:00
bmobject.py Changes based on style and lint checks. (final_code_quality_3) 2018-10-31 12:58:46 +00:00
bmproto.py Put uploads into a separate thread 2018-12-20 20:34:01 +01:00
connectionchooser.py replace all random.xxx with helper random function 2018-03-21 19:26:27 +05:30
connectionpool.py Fix #1408 (duplicate connections to some hosts), got from chan 2018-12-18 19:36:46 +02:00
dandelion.py Bugfixes 2018-02-09 00:49:08 +01:00
downloadthread.py Moved missingObjects dict from state to network.objectracker 2018-12-16 17:44:26 +02:00
http-old.py New network subsystem, WIP 2017-03-10 23:11:57 +01:00
http.py Asyncore update (WIP) 2017-04-16 18:27:15 +02:00
httpd.py New network backend (WIP, not integrated) 2016-12-01 16:48:04 +01:00
https.py Fixes and refactoring 2017-01-11 17:00:00 +01:00
invthread.py Dandelion update 2018-02-03 11:46:39 +01:00
networkthread.py Added tests for knownnodes: 2018-10-22 17:18:24 +03:00
node.py Big Asyncore update 2017-05-24 16:51:49 +02:00
objectracker.py Moved missingObjects dict from state to network.objectracker 2018-12-16 17:44:26 +02:00
proxy.py Add proxy authentication 2018-02-18 20:53:16 +01:00
receivequeuethread.py Separate protocol processing exceptions 2018-02-19 21:27:38 +01:00
socks4a.py Socket closing changes 2017-10-19 09:08:05 +02:00
socks5.py Changes based on style and lint checks. (final_code_quality_2) 2018-10-31 17:06:26 +00:00
stats.py Moved missingObjects dict from state to network.objectracker 2018-12-16 17:44:26 +02:00
tcp.py Changes based on style and lint checks. (final_code_quality_5) 2018-10-31 14:04:35 +00:00
tls.py Asyncore update 2017-07-08 06:54:25 +02:00
udp.py flake8 and style correction for network.udp 2018-10-27 17:55:38 +03:00
uploadthread.py Put uploads into a separate thread 2018-12-20 20:34:01 +01:00