Browse Source

Add relay options to P2P (#268)

Denis Mazur 4 năm trước cách đây
mục cha
commit
0b78a394c8
1 tập tin đã thay đổi với 9 bổ sung1 xóa
  1. 9 1
      hivemind/p2p/p2p_daemon.py

+ 9 - 1
hivemind/p2p/p2p_daemon.py

@@ -70,7 +70,8 @@ class P2P:
                      dht_mode: str = 'dht_server', force_reachability: Optional[str] = None,
                      nat_port_map: bool = True, auto_nat: bool = True, bootstrap: bool = False,
                      bootstrap_peers: Optional[List[str]] = None, use_global_ipfs: bool = False, host_port: int = None,
-                     daemon_listen_port: int = None, **kwargs):
+                     daemon_listen_port: int = None, use_relay: bool = True, use_relay_hop: bool = False,
+                     use_relay_discovery: bool = False, use_auto_relay: bool = False, relay_hop_limit: int = 0, **kwargs):
         """
         Start a new p2pd process and connect to it.
         :param args:
@@ -86,6 +87,11 @@ class P2P:
         :param use_global_ipfs: Bootstrap to global ipfs (works only if bootstrap=True and bootstrap_peers=None)
         :param host_port: port for p2p network
         :param daemon_listen_port: port for connection daemon and client binding
+        :param use_relay: enables circuit relay
+        :param use_relay_hop: enables hop for relay
+        :param use_relay_discovery: enables passive discovery for relay
+        :param use_auto_relay: enables autorelay
+        :param relay_hop_limit: sets the hop limit for hop relays
         :param kwargs:
         :return: new wrapper for p2p daemon
         """
@@ -108,6 +114,8 @@ class P2P:
             str(p2pd_path), *args,
             quic=quic, tls=tls, connManager=conn_manager,
             natPortMap=nat_port_map, autonat=auto_nat,
+            relay=use_relay, relayHop=use_relay_hop, relayDiscovery=use_relay_discovery,
+            autoRelay=use_auto_relay, relayHopLimit=relay_hop_limit,
             b=bootstrap, **{**bootstrap_peers, **dht, **force_reachability, **kwargs})
         self._assign_daemon_ports(host_port, daemon_listen_port)