Skip to content

Commit 7f25923

Browse files
committed
Disable multiple threads
1 parent e1044c7 commit 7f25923

File tree

4 files changed

+45
-29
lines changed

4 files changed

+45
-29
lines changed

pytest.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# content of pytest.ini
22
[pytest]
3-
addopts = --doctest-modules -sv -n 8
3+
addopts = --doctest-modules -sv
44
testpaths = tests src/qrl
55
norecursedirs = qrl/generated

setup.cfg

-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ tests_require =
5151
pytest
5252
pytest-cov
5353
pytest-flake8
54-
pytest-xdist
5554
flake8
5655
autoflake
5756
timeout-decorator

src/qrl/core/p2p/p2pPeerManager.py

+35-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
from qrl.core import config
1111
from qrl.core.misc import logger, ntp
12+
from qrl.core.misc.expiring_set import ExpiringSet
1213
from qrl.core.misc.helper import parse_peer_addr
1314
from qrl.core.notification.Observable import Observable
1415
from qrl.core.notification.ObservableEvent import ObservableEvent
@@ -32,6 +33,10 @@ def __init__(self):
3233
self.peers_path = os.path.join(config.user.data_dir,
3334
config.dev.peers_filename)
3435

36+
self.banned_peers_filename = os.path.join(config.user.wallet_dir, config.dev.banned_peers_filename)
37+
self._banned_peers = ExpiringSet(expiration_time=config.user.ban_minutes * 60,
38+
filename=self.banned_peers_filename)
39+
3540
self._observable = Observable(self)
3641
self._p2pfactory = None
3742

@@ -80,8 +85,8 @@ def get_valid_peers(peer_ips, peer_ip, public_port):
8085
try:
8186
parse_peer_addr(ip_port, True)
8287
new_peers.add(ip_port)
83-
except Exception as _:
84-
logger.warning("Invalid Peer Address {} sent by {}".format(ip_port, peer_ip))
88+
except Exception as e:
89+
logger.warning("Invalid Peer Address {} sent by {} - {}".format(ip_port, peer_ip, e))
8590

8691
return new_peers
8792

@@ -242,3 +247,31 @@ def handle_p2p_acknowledgement(self, source, message: qrllegacy_pb2.LegacyMessag
242247
source.loseConnection()
243248

244249
source.send_next()
250+
251+
####################################################
252+
####################################################
253+
####################################################
254+
####################################################
255+
def is_banned(self, addr_remote: str):
256+
return addr_remote in self._banned_peers
257+
258+
def ban_peer(self, peer_obj):
259+
self._banned_peers.add(peer_obj.addr_remote)
260+
logger.warning('Banned %s', peer_obj.addr_remote)
261+
peer_obj.loseConnection()
262+
263+
def connect_peers(self):
264+
logger.info('<<<Reconnecting to peer list: %s', self.peer_addresses)
265+
for peer_address in self.peer_addresses:
266+
if self.is_banned(peer_address):
267+
continue
268+
self._p2pfactory.connect_peer(peer_address)
269+
270+
def get_peers_stat(self) -> list:
271+
peers_stat = []
272+
for source in self.peer_node_status:
273+
peer_stat = qrl_pb2.PeerStat(peer_ip=source.peer_ip.encode(),
274+
port=source.peer_port,
275+
node_chain_state=self.peer_node_status[source])
276+
peers_stat.append(peer_stat)
277+
return peers_stat

src/qrl/core/qrlnode.py

+9-25
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ def __init__(self, db_state: State, mining_address: bytes):
4444

4545
self.mining_address = mining_address
4646

47-
banned_peers_filename = os.path.join(config.user.wallet_dir, config.dev.banned_peers_filename)
48-
self._banned_peers = ExpiringSet(expiration_time=config.user.ban_minutes * 60,
49-
filename=banned_peers_filename)
50-
5147
reactor.callLater(10, self.monitor_chain_state)
5248

5349
####################################################
@@ -57,7 +53,6 @@ def __init__(self, db_state: State, mining_address: bytes):
5753

5854
@property
5955
def version(self):
60-
# FIXME: Move to __version__ coming from pip
6156
return config.dev.version
6257

6358
@property
@@ -140,37 +135,26 @@ def coin_supply_max(self):
140135
# FIXME: Keep a moving var
141136
return config.dev.max_coin_supply
142137

138+
####################################################
139+
####################################################
140+
####################################################
141+
####################################################
142+
143143
@property
144144
def peer_addresses(self):
145145
return self.peer_manager.peer_addresses
146146

147147
def get_peers_stat(self) -> list:
148-
peers_stat = []
149-
for source in self.peer_manager.peer_node_status:
150-
peer_stat = qrl_pb2.PeerStat(peer_ip=source.peer_ip.encode(),
151-
port=source.peer_port,
152-
node_chain_state=self.peer_manager.peer_node_status[source])
153-
peers_stat.append(peer_stat)
154-
return peers_stat
148+
return self.peer_manager.get_peers_stat()
155149

156-
####################################################
157-
####################################################
158-
####################################################
159-
####################################################
160150
def is_banned(self, addr_remote: str):
161-
return addr_remote in self._banned_peers
151+
return self.peer_manager.is_banned(addr_remote)
162152

163153
def ban_peer(self, peer_obj):
164-
self._banned_peers.add(peer_obj.addr_remote)
165-
logger.warning('Banned %s', peer_obj.addr_remote)
166-
peer_obj.loseConnection()
154+
self.peer_manager.ban_peer(peer_obj)
167155

168156
def connect_peers(self):
169-
logger.info('<<<Reconnecting to peer list: %s', self.peer_addresses)
170-
for peer_address in self.peer_addresses:
171-
if self.is_banned(peer_address):
172-
continue
173-
self._p2pfactory.connect_peer(peer_address)
157+
self.peer_manager.connect_peers()
174158

175159
####################################################
176160
####################################################

0 commit comments

Comments
 (0)