Added announce frequency stats
This commit is contained in:
		
							parent
							
								
									0fd75cb819
								
							
						
					
					
						commit
						136713eec1
					
				| @ -217,7 +217,7 @@ class Identity: | ||||
|         return Identity.truncated_hash(os.urandom(Identity.TRUNCATED_HASHLENGTH//8)) | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def validate_announce(packet): | ||||
|     def validate_announce(packet, only_validate_signature=False): | ||||
|         try: | ||||
|             if packet.packet_type == RNS.Packet.ANNOUNCE: | ||||
|                 destination_hash = packet.destination_hash | ||||
| @ -238,6 +238,10 @@ class Identity: | ||||
|                 announced_identity.load_public_key(public_key) | ||||
| 
 | ||||
|                 if announced_identity.pub != None and announced_identity.validate(signature, signed_data): | ||||
|                     if only_validate_signature: | ||||
|                         del announced_identity | ||||
|                         return True | ||||
| 
 | ||||
|                     hash_material = name_hash+announced_identity.hash | ||||
|                     expected_hash = RNS.Identity.full_hash(hash_material)[:RNS.Reticulum.TRUNCATED_HASHLENGTH//8] | ||||
| 
 | ||||
|  | ||||
| @ -1143,6 +1143,8 @@ class Reticulum: | ||||
|                 ifstats["name"] = str(interface) | ||||
|                 ifstats["rxb"] = interface.rxb | ||||
|                 ifstats["txb"] = interface.txb | ||||
|                 ifstats["incoming_announce_frequency"] = interface.incoming_announce_frequency() | ||||
|                 ifstats["outgoing_announce_frequency"] = interface.outgoing_announce_frequency() | ||||
|                 ifstats["status"] = interface.online | ||||
|                 ifstats["mode"] = interface.mode | ||||
| 
 | ||||
|  | ||||
| @ -887,6 +887,8 @@ class Transport: | ||||
|                         # thread.start() | ||||
| 
 | ||||
|                         Transport.transmit(interface, packet.raw) | ||||
|                         if packet.packet_type == RNS.Packet.ANNOUNCE: | ||||
|                             interface.sent_announce() | ||||
|                         sent = True | ||||
| 
 | ||||
|         if sent: | ||||
| @ -1227,8 +1229,11 @@ class Transport: | ||||
|             # announces, queueing rebroadcasts of these, and removal | ||||
|             # of queued announce rebroadcasts once handed to the next node. | ||||
|             if packet.packet_type == RNS.Packet.ANNOUNCE: | ||||
|                 if interface != None and RNS.Identity.validate_announce(packet, only_validate_signature=True): | ||||
|                     interface.received_announce() | ||||
| 
 | ||||
|                 local_destination = next((d for d in Transport.destinations if d.hash == packet.destination_hash), None) | ||||
|                 if local_destination == None and RNS.Identity.validate_announce(packet):  | ||||
|                 if local_destination == None and RNS.Identity.validate_announce(packet): | ||||
|                     if packet.transport_id != None: | ||||
|                         received_from = packet.transport_id | ||||
|                          | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user