[pve-devel] [PATCH http-server 3/4] websocket_proxy: implement ping/pong support
Fabian Grünbichler
f.gruenbichler at proxmox.com
Fri Mar 6 11:20:29 CET 2020
needed to keep tunnel connections alive.
Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---
PVE/APIServer/AnyEvent.pm | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/PVE/APIServer/AnyEvent.pm b/PVE/APIServer/AnyEvent.pm
index 7147d81..bc2ec4d 100644
--- a/PVE/APIServer/AnyEvent.pm
+++ b/PVE/APIServer/AnyEvent.pm
@@ -511,6 +511,11 @@ sub websocket_proxy {
$reqstate->{proxyhdl}->push_shutdown();
}
$hdl->push_shutdown();
+ } elsif ($opcode == 9) {
+ # ping received, schedule pong
+ $reqstate->{hdl}->push_write($encode->(\$payload, "\x8A")) if $reqstate->{hdl};
+ } elsif ($opcode == 0xA) {
+ # pong received, continue
} else {
die "received unhandled websocket opcode $opcode\n";
}
--
2.20.1
More information about the pve-devel
mailing list