keep trying to connect to new peers eagerly if we have no outgoing connections
This commit is contained in:
		
							parent
							
								
									6738eaf222
								
							
						
					
					
						commit
						7f8e63f19b
					
				
					 2 changed files with 17 additions and 12 deletions
				
			
		|  | @ -55,6 +55,10 @@ def get_online_peers(comm_inst: 'OnionrCommunicatorDaemon'): | ||||||
|         if len(comm_inst.onlinePeers) == 0: |         if len(comm_inst.onlinePeers) == 0: | ||||||
|             logger.debug('Couldn\'t connect to any peers.' + |             logger.debug('Couldn\'t connect to any peers.' + | ||||||
|                          f' Last node seen {last_seen}  ago.') |                          f' Last node seen {last_seen}  ago.') | ||||||
|  |             try: | ||||||
|  |                 get_online_peers(comm_inst) | ||||||
|  |             except RecursionError: | ||||||
|  |                 pass | ||||||
|         else: |         else: | ||||||
|             comm_inst.lastNodeSeen = time.time() |             comm_inst.lastNodeSeen = time.time() | ||||||
|     comm_inst.decrementThreadCount('get_online_peers') |     comm_inst.decrementThreadCount('get_online_peers') | ||||||
|  |  | ||||||
|  | @ -1,9 +1,14 @@ | ||||||
| ''' | """Onionr - Private P2P Communication. | ||||||
|     Onionr - Private P2P Communication |  | ||||||
| 
 | 
 | ||||||
| Connect a new peer to our communicator instance. Does so randomly if no peer is specified | Connect a new peer to our communicator instance. Does so randomly if no peer is specified | ||||||
| ''' | """ | ||||||
| ''' | import time, sys, secrets | ||||||
|  | import onionrexceptions, logger, onionrpeers | ||||||
|  | from utils import networkmerger, gettransports | ||||||
|  | from onionrutils import stringvalidators, epoch | ||||||
|  | from communicator import peeraction, bootstrappeers | ||||||
|  | from coredb import keydb | ||||||
|  | """ | ||||||
|     This program is free software: you can redistribute it and/or modify |     This program is free software: you can redistribute it and/or modify | ||||||
|     it under the terms of the GNU General Public License as published by |     it under the terms of the GNU General Public License as published by | ||||||
|     the Free Software Foundation, either version 3 of the License, or |     the Free Software Foundation, either version 3 of the License, or | ||||||
|  | @ -16,13 +21,9 @@ | ||||||
| 
 | 
 | ||||||
|     You should have received a copy of the GNU General Public License |     You should have received a copy of the GNU General Public License | ||||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. |     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||||
| ''' | """ | ||||||
| import time, sys, secrets | 
 | ||||||
| import onionrexceptions, logger, onionrpeers | 
 | ||||||
| from utils import networkmerger, gettransports |  | ||||||
| from onionrutils import stringvalidators, epoch |  | ||||||
| from communicator import peeraction, bootstrappeers |  | ||||||
| from coredb import keydb |  | ||||||
| def connect_new_peer_to_communicator(comm_inst, peer='', useBootstrap=False): | def connect_new_peer_to_communicator(comm_inst, peer='', useBootstrap=False): | ||||||
|     config = comm_inst.config |     config = comm_inst.config | ||||||
|     retData = False |     retData = False | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue