Commit Graph

26 Commits

Author SHA1 Message Date
Dmitri Bogomolov d6c1845b71
Moved Peer from state to network.node
and trustedPeer to network.connectionpool.BMConnectionPool attribute
2019-11-11 17:13:12 +02:00
lakshyacis afce500085
knownnodes quality fixes 2019-10-31 14:52:43 +05:30
Dmitri Bogomolov 88f2c51595
quzwelsuziwqgpt2.onion:8444 is also a bootstrap server 2019-09-25 18:55:02 +03:00
Dmitri Bogomolov 7215003c6f
No DNS resolving in knownnodes 2019-09-25 18:55:01 +03:00
Dmitri Bogomolov 0a06567071
Connect to bootstrap nodes by name 2019-09-25 18:55:01 +03:00
Dmitri Bogomolov a7a634be1b
Add self peers with rating 1 2019-08-02 17:56:40 +03:00
Dmitri Bogomolov 668a73abf6
Fixed my mistake in knownnodes, in ef54bca 2019-08-01 12:58:43 +03:00
Dmitri Bogomolov ef54bcaf82
The changes in #1325 are buggy. Implementing it properly. 2018-10-12 11:28:13 +03:00
Dmitri Bogomolov 6969ec0ec9
Removed commented config check and added module docstring 2018-10-10 14:14:08 +03:00
Dmitri Bogomolov e417b6257f
Fixes #1335:
- moved knownnodes cleanup to knownnodes module,
  - added a check for last node in stream initiating DNS based bootstrap.
2018-10-10 14:14:02 +03:00
Dmitri Bogomolov 4c184d8ffe
Fix import of pickled knownnodes.dat 2018-10-05 12:25:14 +03:00
Peter Šurda b0446ab4ab
Improve pickle knownnodes error handling
- Fixes #1333 (untested)
2018-08-05 09:07:31 +02:00
Dmitri Bogomolov 358e621710
Round peer rating to 2 decimal places before saving knownnodes 2018-08-02 12:26:41 +03:00
Dmitri Bogomolov 659d45bb15
Create default knownnodes if cannot read from file 2018-05-21 18:49:39 +03:00
Dmitri Bogomolov b499e1bd22
Start without knownnodes if JSON got corrupted 2018-05-21 18:49:39 +03:00
Dmitri Bogomolov 5e72fdba17
Simplified addKnownNode() and added docstrings 2018-05-21 18:49:38 +03:00
Dmitri Bogomolov 67feb8fee9
Serialize knownnodes to json by default
Fixes #1232
2018-05-21 18:49:38 +03:00
Dmitri Bogomolov f87ce4ad50
Moved reading knownnodes.dat into knownnodes module 2018-05-21 18:49:38 +03:00
Dmitri Bogomolov ca42b4be63
flake8 for knownnodes 2018-05-21 18:49:38 +03:00
Peter Šurda d44c6c6464
Forget known nodes with bad rating 2017-10-19 08:52:44 +02:00
Peter Šurda a0bbd21efc
Add ratings to peers
- outbound peers now have a rating
- it's also shown in the network status tab
- currently it's between -1 to +1, changes by 0.1 steps and uses a
hyperbolic function 0.05/(1.0 - rating) to convert rating to
probability with which we should connect to that node when randomly
chosen
- it increases when we successfully establish a full outbound connection
to a node, and decreases when we fail to do that
- onion nodes have priority when using SOCKS
2017-07-05 09:17:01 +02:00
Peter Šurda b9d60f8b41
Max known nodes configurable 2017-06-24 12:17:01 +02:00
Peter Šurda af8957ed72
Typo in the second most recent commit 2017-02-27 23:37:15 +01:00
Peter Šurda 339e375958
Bootstrap provider mode and minor knownNodes changes
- if knownNodes grows to 20000, instead of ignoring new nodes, forget
  the 1000 oldest ones
- drop connection after sendaddr if too many connections, even if it's
  an outbound one
- if maximum total connections are lower than maximum outbound
  connections, active bootstrap provider mode
- in this mode, check all addresses received before announcing them
- so basically it only annouces those addresses it successfully
  connected to
2017-02-27 23:31:12 +01:00
Peter Šurda c778b81427
knownNodes refactoring and shutdown fixes
- saveKnownNodes replaced the repeated pickle.dump
- with knownNodesLock instead of acquire/release
- outgoingSynSender had an unnecessary loop during shutdown causing
  excessive CPU usage / GUI freezing
2017-02-09 11:53:33 +01:00
Peter Šurda 59f3a2fbe7
Reduce cyclic dependencies
- rearranged code to reduce cyclic dependencies
- doCleanShutdown is separated in shutdown.py
- shared queues are separated in queues.py
- some default values were moved to defaults.py
- knownnodes partially moved to knownnodes.py
2017-02-08 13:41:56 +01:00