diff options
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/transport/quic_client.py')
| -rw-r--r-- | packages/meshbay-node/src/meshbay_node/transport/quic_client.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transport/quic_client.py b/packages/meshbay-node/src/meshbay_node/transport/quic_client.py index 6041fef..a2220ff 100644 --- a/packages/meshbay-node/src/meshbay_node/transport/quic_client.py +++ b/packages/meshbay-node/src/meshbay_node/transport/quic_client.py @@ -100,16 +100,18 @@ class QuicChunkClient: jwt_token: str, gek: bytes, pk_node_b64: str, + local_port: int = 0, # 0 = OS choisit; spécifier pour hole punching Port-Restricted ): - self._host = host - self._port = port - self._jwt_token = jwt_token - self._gek = gek - self._pk_node = Ed25519PublicKey.from_public_bytes( + self._host = host + self._port = port + self._jwt_token = jwt_token + self._gek = gek + self._local_port = local_port + self._pk_node = Ed25519PublicKey.from_public_bytes( base64.b64decode(pk_node_b64)) self._proto: _MNPClientProtocol | None = None - self._cm = None - self._ctrl_stream = 0 # stream 0 = control/handshake + self._cm = None + self._ctrl_stream = 0 async def __aenter__(self): await self.connect() @@ -129,6 +131,7 @@ class QuicChunkClient: self._host, self._port, configuration=config, create_protocol=_MNPClientProtocol, + local_port=self._local_port, # 0 = aléatoire; local_port=X pour hole punching ) self._proto = await self._cm.__aenter__() |