Persistent websocket connections for socket clients and CLI tools (#723)

Replace per-request websocket connections in SocketClient and
AsyncSocketClient with a single persistent connection that
multiplexes requests by ID via a background reader task. This
eliminates repeated TCP+WS handshakes which caused significant
latency over proxies.

Convert show_flows, show_flow_blueprints, and
show_parameter_types CLI tools from sequential HTTP requests to
concurrent websocket requests using AsyncSocketClient, reducing
round trips from O(N) sequential to a small number of parallel
batches.

Also fix describe_interfaces bug in show_flows where response
queue was reading the request field instead of the response
field.
This commit is contained in:
cybermaggedon 2026-03-26 16:46:28 +00:00 committed by GitHub
parent 1ec081f42f
commit 9c55a0a0ff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 654 additions and 1067 deletions

File diff suppressed because it is too large Load diff