GitHub Action commited on
Commit
5c7a720
·
1 Parent(s): ca99925

Sync from GitHub with Git LFS

Browse files
Files changed (1) hide show
  1. agents/peer_sync.py +7 -5
agents/peer_sync.py CHANGED
@@ -19,7 +19,7 @@ storage = Storage()
19
  # Конфигурация
20
  # ---------------------------
21
  my_id = storage.get_config_value("agent_id")
22
- my_pubkey = storage.get_config_value("pubkay")
23
  agent_name = storage.get_config_value("agent_name", "unknown")
24
 
25
  local_addresses = storage.get_addresses("local")
@@ -182,7 +182,7 @@ def udp_discovery(sock, local_ports):
182
  try:
183
  if ":" not in dest: # IPv4
184
  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
185
- s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) # 👈 включаем broadcast
186
  else: # IPv6
187
  s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
188
 
@@ -204,13 +204,15 @@ def udp_discovery(sock, local_ports):
204
  buf = chunks_buffer.setdefault(addr, {"chunks": {}, "total": pkt["total"]})
205
  buf["chunks"][pkt["chunk"]] = pkt["data"]
206
  if len(buf["chunks"]) == buf["total"]:
207
- full_msg_json = "".join(buf["chunks"][i] for i in range(buf["total"]))
208
  msg = json.loads(full_msg_json)
 
209
  del chunks_buffer[addr]
210
  else:
211
  continue
212
  else:
213
  msg = pkt # старый формат
 
214
 
215
  peer_id = msg.get("id")
216
  if peer_id == my_id:
@@ -241,7 +243,7 @@ def udp_discovery(sock, local_ports):
241
  source="discovery", status="online",
242
  pubkey=pubkey, strict=False
243
  )
244
- print(f"[UDP Discovery] peer={peer_id} from {addr}")
245
  except Exception as e:
246
  print(f"[UDP Discovery] receive error: {e}")
247
  except Exception as e:
@@ -282,6 +284,7 @@ def udp_discovery(sock, local_ports):
282
  "addresses": local_addresses,
283
  "pubkey": my_pubkey
284
  }
 
285
 
286
  for port in local_ports:
287
  # IPv4 broadcast
@@ -290,7 +293,6 @@ def udp_discovery(sock, local_ports):
290
  for a in addrs:
291
  if "broadcast" in a:
292
  send_discovery_packets(msg_dict, a["broadcast"], port)
293
- # можно для проверки сразу и 255.255.255.255:
294
  send_discovery_packets(msg_dict, "255.255.255.255", port)
295
 
296
  # IPv6 multicast пока выключен для отладки
 
19
  # Конфигурация
20
  # ---------------------------
21
  my_id = storage.get_config_value("agent_id")
22
+ my_pubkey = storage.get_config_value("pubkey")
23
  agent_name = storage.get_config_value("agent_name", "unknown")
24
 
25
  local_addresses = storage.get_addresses("local")
 
182
  try:
183
  if ":" not in dest: # IPv4
184
  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
185
+ s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
186
  else: # IPv6
187
  s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
188
 
 
204
  buf = chunks_buffer.setdefault(addr, {"chunks": {}, "total": pkt["total"]})
205
  buf["chunks"][pkt["chunk"]] = pkt["data"]
206
  if len(buf["chunks"]) == buf["total"]:
207
+ full_msg_json = "".join(buf["chunks"][i] for i in sorted(buf["chunks"]))
208
  msg = json.loads(full_msg_json)
209
+ print(f"[UDP Discovery] received full msg (with pubkey={bool(msg.get('pubkey'))}) from {addr}")
210
  del chunks_buffer[addr]
211
  else:
212
  continue
213
  else:
214
  msg = pkt # старый формат
215
+ print(f"[UDP Discovery] received short msg (with pubkey={bool(msg.get('pubkey'))}) from {addr}")
216
 
217
  peer_id = msg.get("id")
218
  if peer_id == my_id:
 
243
  source="discovery", status="online",
244
  pubkey=pubkey, strict=False
245
  )
246
+ print(f"[UDP Discovery] peer={peer_id} from {addr} (pubkey={bool(pubkey)})")
247
  except Exception as e:
248
  print(f"[UDP Discovery] receive error: {e}")
249
  except Exception as e:
 
284
  "addresses": local_addresses,
285
  "pubkey": my_pubkey
286
  }
287
+ print(f"[UDP Discovery] sending msg (with pubkey={bool(my_pubkey)}): {msg_dict}")
288
 
289
  for port in local_ports:
290
  # IPv4 broadcast
 
293
  for a in addrs:
294
  if "broadcast" in a:
295
  send_discovery_packets(msg_dict, a["broadcast"], port)
 
296
  send_discovery_packets(msg_dict, "255.255.255.255", port)
297
 
298
  # IPv6 multicast пока выключен для отладки