summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/transport
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/transport')
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/quic_server.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transport/quic_server.py b/packages/meshbay-node/src/meshbay_node/transport/quic_server.py
index ed3925d..73e668c 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/quic_server.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/quic_server.py
@@ -203,6 +203,11 @@ class _MNPServerProtocol(QuicConnectionProtocol):
self._do_stream_segment_sync(stream_id, msg)
elif mtype == MNP.CHAT_MESSAGE:
self._do_chat_message_sync(stream_id, msg)
+ elif mtype == MNP.PING:
+ # Liveness is transport-agnostic, and a native client over QUIC
+ # has the same half-open problem a DataChannel does.
+ self._send(stream_id, {"type": MNP.PONG, "v": MNP_VERSION,
+ "token": msg.get("token")})
else:
log.warning("Unknown MNP message type: %s", mtype)
except Exception as e: