mirror of
https://github.com/GNS3/gns3-server.git
synced 2025-06-20 16:20:18 +00:00
Merge branch '2.2' into 3.0
# Conflicts: # README.md # gns3server/compute/base_node.py # gns3server/compute/dynamips/__init__.py # gns3server/compute/dynamips/hypervisor.py # gns3server/compute/qemu/__init__.py # gns3server/compute/qemu/qemu_vm.py # gns3server/controller/__init__.py # gns3server/crash_report.py # gns3server/handlers/api/controller/node_handler.py # gns3server/schemas/qemu_template.py # gns3server/static/web-ui/index.html # gns3server/static/web-ui/main.11410ae4eaf4d4c08cd0.js # gns3server/version.py # requirements.txt
This commit is contained in:
@ -527,14 +527,17 @@ class BaseNode:
|
||||
if data:
|
||||
await websocket.send_bytes(data)
|
||||
|
||||
# keep forwarding WebSocket data in both direction
|
||||
done, pending = await asyncio.wait(
|
||||
[ws_forward(telnet_writer), telnet_forward(telnet_reader)], return_when=asyncio.FIRST_COMPLETED
|
||||
)
|
||||
# keep forwarding websocket data in both direction
|
||||
if sys.version_info >= (3, 11, 0):
|
||||
# Starting with Python 3.11, passing coroutine objects to wait() directly is forbidden.
|
||||
aws = [asyncio.create_task(ws_forward(telnet_writer)), asyncio.create_task(telnet_forward(telnet_reader))]
|
||||
else:
|
||||
aws = [ws_forward(telnet_writer), telnet_forward(telnet_reader)]
|
||||
|
||||
done, pending = await asyncio.wait(aws, return_when=asyncio.FIRST_COMPLETED)
|
||||
for task in done:
|
||||
if task.exception():
|
||||
log.warning(f"Exception while forwarding WebSocket data to Telnet server {task.exception()}")
|
||||
|
||||
for task in pending:
|
||||
task.cancel()
|
||||
|
||||
|
Reference in New Issue
Block a user