16 lines
822 B
Python
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]
|