From 21020c1ca94339f6b85c1b7422f7433671f255c7 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Wed, 26 May 2021 14:47:16 +0200 Subject: [PATCH] openvidu-server: "echo" rpc method --- .../java/io/openvidu/server/core/SessionEventsHandler.java | 4 ++++ .../main/java/io/openvidu/server/core/SessionManager.java | 4 ++++ .../src/main/java/io/openvidu/server/rpc/RpcHandler.java | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java b/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java index f041792b..ea4a6d70 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java +++ b/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java @@ -638,6 +638,10 @@ public class SessionEventsHandler { rpcNotificationService.sendResponse(participant.getParticipantPrivateId(), transactionId, new JsonObject()); } + public void onEcho(String participantPrivateId, Integer transactionId) { + rpcNotificationService.sendResponse(participantPrivateId, transactionId, new JsonObject()); + } + /** * This handler must be called before cleaning any sessions or recordings hosted * by the crashed Media Node diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/SessionManager.java b/openvidu-server/src/main/java/io/openvidu/server/core/SessionManager.java index 3d46cfd0..27d692d0 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/core/SessionManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/core/SessionManager.java @@ -194,6 +194,10 @@ public abstract class SessionManager { public abstract void onVideoData(Participant participant, Integer transactionId, Integer height, Integer width, Boolean videoActive, Boolean audioActive); + public void onEcho(String participantPrivateId, Integer requestId) { + sessionEventsHandler.onEcho(participantPrivateId, requestId); + } + /** * Returns a Session given its id * diff --git a/openvidu-server/src/main/java/io/openvidu/server/rpc/RpcHandler.java b/openvidu-server/src/main/java/io/openvidu/server/rpc/RpcHandler.java index 21598e3c..09f143dc 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/rpc/RpcHandler.java +++ b/openvidu-server/src/main/java/io/openvidu/server/rpc/RpcHandler.java @@ -172,6 +172,9 @@ public class RpcHandler extends DefaultJsonRpcHandler { case ProtocolElements.VIDEODATA_METHOD: updateVideoData(rpcConnection, request); break; + case ProtocolElements.ECHO_METHOD: + echo(rpcConnection, request); + break; default: log.error("Unrecognized request {}", request); break; @@ -717,6 +720,10 @@ public class RpcHandler extends DefaultJsonRpcHandler { } } + private void echo(RpcConnection rpcConnection, Request request) { + sessionManager.onEcho(rpcConnection.getParticipantPrivateId(), request.getId()); + } + public void leaveRoomAfterConnClosed(String participantPrivateId, EndReason reason) { try { sessionManager.evictParticipant(this.sessionManager.getParticipant(participantPrivateId), null, null,