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…
Reference in New Issue
Block a user