Commit Graph

18 Commits (24ae91ad0ad438b07f8000cc18d08f03ccc16509)

Author SHA1 Message Date
Dmitri Bogomolov 24ae91ad0a
Set dontconnect temporary, completely avoiding saving 4 years ago
Dmitri Bogomolov 31f107f048
flake8: bmconfigparser 5 years ago
Dmitri Bogomolov cec8519e43
Added "apiinterface" and "apiport" to BMConfigDefaults 6 years ago
Peter Šurda fd1a6c1fa1
Dandelion update
- dandelion fixes
- try to wait as long as possible before expiration if there are no
outbound connections
- expire in invThread rather than singleCleaner thread
- deduplication of code in inv and dinv command methods
- turn on by default, seems to work correctly now
- turn off dandelion if outbound connections are disabled
- start tracking downloads earlier, and faster download loop
- remove some obsolete lines
- minor PEP8 updates
6 years ago
Peter Šurda 6ce86b1d0a
Dandelion++ implementation
- untested, some functionality may be missing, don't turn on
- also, it randomises upload of requested objects
- affects #1049
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
- [network] - bind now also applies for the TCP socket as well as UDP
- closing socket iterator fix
6 years ago
Peter Šurda bdf61489ae
Allow multiple ReceiveQueue threads
- defaults to 3
6 years ago
Peter Šurda f5a143d0b8
Config validator
- config options can have validators
- limit maxoutboundconnections to max 8
6 years ago
Peter Šurda b9d60f8b41
Max known nodes configurable 6 years ago
Peter Šurda 2685fe29b1
Code quality improvements 6 years ago
Peter Šurda 6044df5adf
Optional storing of expired and off-stream objects
- a new config file option, network/acceptmismatch, allows the inventory
to store objects that expired or are from a stream we're not
interested in. Having this on will prevent re-requesting objects that
other nodes incorrectly advertise. It defaults to false
6 years ago
Peter Šurda c85d52b8e8
Asyncore updates
- asyncore is now on by default
- inv announcements implemented
- bandwidth limit implemented / fixed
- stats on download / upload speed now work
- make prints into logger
- limit knownNodes to 20k as it was before
- green light fixed
- other minor fixes
6 years ago
Peter Šurda f8b4b427fc
Asyncore update
- bugfixes
- UDP socket for local peer discovery
- new function assembleAddr to unify creating address command
- open port checker functionality (inactive)
- sendBigInv is done in a thread separate from the network IO
6 years ago
Peter Šurda d498f1c0ae
Configparser update
- add default values for maxdownload/uploadrate, asyncore
- rework error handler slightly
6 years ago
Peter Šurda 9f4a1fa0a4
Config file defaults and address unification
- now allows to put default values for a specific
option in the file
- addresses as sections are now detected by "BM-" rather than
just ignoring bitmessagesettings. There can now be other sections
with a cleaner config file
6 years ago
Peter Šurda 7ebe837eb0
Make some network parameters configurable
- maxtotalconnections = maximum number of total full connections
  (incoming + outgoing) the node will allow. Default 200 as it was.
- maxbootstrapconnections = number of additional (to total) connection
  that will act in bootstrap mode, closing after sending the list of
  addresses. Default 20 as it was.
- maxaddrperstreamsend = initial address list maximum size, per
  participating stream. Default 500. Child streams get half. The
  response is chunked into pieces of max. 1000 addresses as that's the
  protocol limit.
7 years ago
Peter Šurda 6062277d60
Rename to
- it was causing problems with py2app because the source of python's own
  CongigParser is also
7 years ago