Fixed missing path state resetting on stale path rediscovery
This commit is contained in:
		
							parent
							
								
									4b26a86a73
								
							
						
					
					
						commit
						5e39136dff
					
				| @ -1349,6 +1349,7 @@ class Transport: | |||||||
|                                 # TODO: Check whether this approach works |                                 # TODO: Check whether this approach works | ||||||
|                                 # under all circumstances |                                 # under all circumstances | ||||||
|                                 if not random_blob in random_blobs: |                                 if not random_blob in random_blobs: | ||||||
|  |                                     Transport.mark_path_unknown_state(packet.destination_hash) | ||||||
|                                     should_add = True |                                     should_add = True | ||||||
|                                 else: |                                 else: | ||||||
|                                     should_add = False |                                     should_add = False | ||||||
| @ -1376,6 +1377,7 @@ class Transport: | |||||||
|                                         # TODO: Check that this ^ approach actually |                                         # TODO: Check that this ^ approach actually | ||||||
|                                         # works under all circumstances |                                         # works under all circumstances | ||||||
|                                         RNS.log("Replacing destination table entry for "+str(RNS.prettyhexrep(packet.destination_hash))+" with new announce due to expired path", RNS.LOG_DEBUG) |                                         RNS.log("Replacing destination table entry for "+str(RNS.prettyhexrep(packet.destination_hash))+" with new announce due to expired path", RNS.LOG_DEBUG) | ||||||
|  |                                         Transport.mark_path_unknown_state(packet.destination_hash) | ||||||
|                                         should_add = True |                                         should_add = True | ||||||
|                                     else: |                                     else: | ||||||
|                                         should_add = False |                                         should_add = False | ||||||
| @ -1386,6 +1388,7 @@ class Transport: | |||||||
|                                     if (announce_emitted > path_announce_emitted): |                                     if (announce_emitted > path_announce_emitted): | ||||||
|                                         if not random_blob in random_blobs: |                                         if not random_blob in random_blobs: | ||||||
|                                             RNS.log("Replacing destination table entry for "+str(RNS.prettyhexrep(packet.destination_hash))+" with new announce, since it was more recently emitted", RNS.LOG_DEBUG) |                                             RNS.log("Replacing destination table entry for "+str(RNS.prettyhexrep(packet.destination_hash))+" with new announce, since it was more recently emitted", RNS.LOG_DEBUG) | ||||||
|  |                                             Transport.mark_path_unknown_state(packet.destination_hash) | ||||||
|                                             should_add = True |                                             should_add = True | ||||||
|                                         else: |                                         else: | ||||||
|                                             should_add = False |                                             should_add = False | ||||||
| @ -2097,6 +2100,22 @@ class Transport: | |||||||
|         else: |         else: | ||||||
|             return False |             return False | ||||||
| 
 | 
 | ||||||
|  |     @staticmethod | ||||||
|  |     def mark_path_responsive(destination_hash): | ||||||
|  |         if destination_hash in Transport.destination_table: | ||||||
|  |             Transport.path_states[destination_hash] = Transport.STATE_RESPONSIVE | ||||||
|  |             return True | ||||||
|  |         else: | ||||||
|  |             return False | ||||||
|  | 
 | ||||||
|  |     @staticmethod | ||||||
|  |     def mark_path_unknown_state(destination_hash): | ||||||
|  |         if destination_hash in Transport.destination_table: | ||||||
|  |             Transport.path_states[destination_hash] = Transport.STATE_UNKNOWN | ||||||
|  |             return True | ||||||
|  |         else: | ||||||
|  |             return False | ||||||
|  | 
 | ||||||
|     def path_is_unresponsive(destination_hash): |     def path_is_unresponsive(destination_hash): | ||||||
|         if destination_hash in Transport.path_states: |         if destination_hash in Transport.path_states: | ||||||
|             if Transport.path_states[destination_hash] == Transport.STATE_UNRESPONSIVE: |             if Transport.path_states[destination_hash] == Transport.STATE_UNRESPONSIVE: | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user