black-mamba/mods/helpers.py

16 lines
822 B
Python

from datetime import datetime
def store_signalpeer(conn, signalpeerkvstore):
peer_addr = (conn._channel.stream.sock.getpeername()[0], conn.root.peer_port)
signalpeer_key = f'{peer_addr[0]:{peer_addr[1]}}'
if signalpeer_key not in signalpeerkvstore:
signalpeerkvstore[signalpeer_key] = {'addr': peer_addr, 'seen': datetime.utcnow(), 'cname': conn.root.peer_cname}
else:
signalpeerkvstore[signalpeer_key]['seen'] = datetime.utcnow()
if signalpeerkvstore[signalpeer_key]['cname'] != conn.root.peer_cname:
signalpeerkvstore[signalpeer_key]['cname'] = conn.root.peer_cname
def merge_signalpeers(signalpeers, signalpeerkvstore):
new_keys = list(set(signalpeers.keys()) - set(signalpeerkvstore.keys()))
for k in new_keys:
signalpeerkvstore[k] = signalpeers[k]