Peter Šurda
58b47bc6de
Forking fixes
6 years ago
PyBitmessage Translations
3c50615998
Auto-updated language zh_cn from transifex
6 years ago
PyBitmessage Translations
4d0a40fd2a
Auto-updated language sk from transifex
6 years ago
PyBitmessage Translations
85e4e5438c
Auto-updated language de from transifex
6 years ago
Peter Šurda
e7231f3aea
Fix multiple TCP bind address handling
6 years ago
Peter Šurda
6c695c8ac7
Remove non-asyncore network code (partial)
6 years ago
Peter Šurda
0b07b1c89a
Peer discovery updates
...
- allow loopback addresses, now you can bind different loopback IP
addresses on a single system and they will auto-cross-connect
- always listen for discovery on 0.0.0.0
- [network] - bind now also applies for the TCP socket as well as UDP
socket
- closing socket iterator fix
6 years ago
Peter Šurda
e071efac1a
Typo
6 years ago
Peter Šurda
cc955cd69d
Try new ports of binding fails
...
- API and BM protocol will try random ports for binding if those
configured are occupied
6 years ago
Peter Šurda
0324958e92
Peer discovery fixes
...
- incoming packets weren't correctly processed
6 years ago
Peter Šurda
d9e4f2ceb8
Typo in previous commit
6 years ago
Peter Šurda
f338c00f8e
Change peer discovery tracking from queue to a dict
...
- with a queue, a situation could occur when new entries are appended
but nothing is polling the queue
6 years ago
Peter Šurda
4564d37f5b
Typo in previous commits
6 years ago
Peter Šurda
38872159fb
Typo in previous commit
6 years ago
Peter Šurda
5895dc2f1f
Asyncore Windows error handling
...
- windows behaves somewhat differently when using select
6 years ago
Peter Šurda
578c5dd495
Fix windows PID file
6 years ago
Peter Šurda
5108d08ac9
Windows asyncore error handler fix
...
- WSAEWOULDBLOCK is now checked on connect and accept
6 years ago
Peter Šurda
8f14fb05a1
UDP socket setsockopt fix
6 years ago
Peter Šurda
7a4551e1e7
Fix signal handler in daemon mode
...
- signal handler requires the main thread to run
6 years ago
Peter Šurda
3e6de7a9ad
Flush PID file on unix as well
6 years ago
Peter Šurda
e7382b7714
Write PID into the lock file
6 years ago
Peter Šurda
501f07dd34
Setsid is not available on Windows
...
- wrap an error handler around it
6 years ago
Peter Šurda
20cbac9752
Fix daemonize for Windows
...
Fixes #1034
6 years ago
Peter Šurda
a29f7534ee
Add EINTR handler for select and poll pollers
6 years ago
Peter Šurda
2530c62050
epoll throws IOError rather than select.error
6 years ago
Peter Šurda
aa059d6f2f
Handle TLS errors in receivequeuethread
...
- well at least EBADF, it seems to happen sometimes
6 years ago
Peter Šurda
4f19c37fdc
Parser fix for multi-level arrays
6 years ago
Peter Šurda
dcc181bf75
Asyncore processing thread synchronisation
...
- threre was a synchronisation problem where one thread could process
more data than another thread was expecting, leading to the thread
crashing
6 years ago
Peter Šurda
f6d5d93bf2
Multiple receive queues fix
...
- forgot to commit busy handler
6 years ago
Peter Šurda
db2d78c9b6
Make protocol decoder less recursive
...
- apparently, recursion has bad performance in Python, so the decoder is
now flat, except when parsing "version" command
6 years ago
Peter Šurda
853c8561ec
Per connection node id part 2
...
- forgot to include this in the previous commit
6 years ago
Peter Šurda
3941b39136
Randomise node id
...
- in order to detect if it's connected to to itself, PyBitmessage now
uses a per-connection id rather than a global one
6 years ago
Peter Šurda
bdf61489ae
Allow multiple ReceiveQueue threads
...
- defaults to 3
6 years ago
Peter Šurda
f088e0ae21
Change thread names
...
- not needed to have "Thread" in the name of a thread
6 years ago
Peter Šurda
4fce01e34a
Less data transferred in invThread and addrThread
6 years ago
Peter Šurda
2df9598774
Asyncore update: Fix incoming connections
...
- dereferencing wasn't done correctly for incoming connections
6 years ago
Peter Šurda
2d7d9c2f92
Asyncore update
...
- request downloads in bigger chunks
- don't put whole objects into the receiveDataQueue
6 years ago
Peter Šurda
0f3a69adf4
Asyncore update: remove references to deleted files
6 years ago
Peter Šurda
5ae1b6d865
Asyncore update: remove obsolete files
6 years ago
PyBitmessage Translations
1aa45d6eac
Auto-updated language eo from transifex
6 years ago
PyBitmessage Translations
6eb9e93575
Auto-updated language ja from transifex
6 years ago
PyBitmessage Translations
4f969088cf
Auto-updated language pl from transifex
6 years ago
Peter Šurda
a98b8690d3
Asyncore fixes
...
- fix broken loops
- optimise I/O tests
6 years ago
Peter Šurda
de22e547c5
Remove buggy log message if prctl is missing
...
- it's not that important that you need to be informed of it, and
importing logging may cause cyclic dependencies/other problems
6 years ago
Peter Šurda
ba4162d7fe
Asyncore update
...
- 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)
6 years ago
Peter Šurda
a2b8867c1a
Tooltips for network status columns
6 years ago
Peter Šurda
4536e44b8c
Thread names propagate to system
...
- the thread names should now show up in the monitoring tools of
operating systems (tested on linux)
6 years ago
PyBitmessage Translations
00a4558971
Auto-updated language eo from transifex
6 years ago
PyBitmessage Translations
83e60d231a
Auto-updated language pl from transifex
6 years ago
PyBitmessage Translations
1dbf98d7f7
Auto-updated language ja from transifex
6 years ago