From 78985583570a76abb4990df803ed1a11b092c170 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 11 Mar 2023 21:11:45 +0100 Subject: [PATCH] rooms --- socketserver/hub.go | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/socketserver/hub.go b/socketserver/hub.go index cd32a11..0a142a7 100644 --- a/socketserver/hub.go +++ b/socketserver/hub.go @@ -79,7 +79,6 @@ func RunHub() { if len(receivedMessage.RecUser) == utils.LenWebSocketSession { gocnjhelper.LogDebug("type: user message") // TODO: check if the user is allowed to sent a message to target user. For example: privacy settings, friend relationship - // TODO: handle when client not connected to websocket. eg. Push Notification SendMessageToClient(receivedMessage.RecUser, structs.SendSocketMessage{Cmd: receivedMessage.Cmd, Body: receivedMessage.Body}) } else if len(receivedMessage.RecRoom) == utils.LenRoomId { gocnjhelper.LogDebug("type: room message") @@ -105,8 +104,6 @@ func RunHub() { } for _, roomUser := range roomUsers { - // TODO: handle when client not connected to websocket. eg. Push Notification - /*connToWs :=*/ SendMessageToClient(roomUser.UserId, structs.SendSocketMessage{ Cmd: receivedMessage.Cmd, Body: receivedMessage.Body, @@ -138,7 +135,7 @@ func isUserInRoom(userId string, roomUsers []dbstructs.RoomUsers) bool { return false } -func SendMessageToClient(targetUserId string, msg structs.SendSocketMessage) (connectedToWebSocket bool) { +func SendMessageToClient(targetUserId string, msg structs.SendSocketMessage) { if isConnected, socketClients := socketclients.IsReceiverConnectedToThisServer(targetUserId); isConnected { // send message to target receiver which is connected to this server gocnjhelper.LogDebug("FORWARDING MESSAGE: receiver is connected to this server") @@ -147,8 +144,6 @@ func SendMessageToClient(targetUserId string, msg structs.SendSocketMessage) (co gocnjhelper.LogDebugf("send to %s", socketClient.UserId) socketClient.SendMessage(msg) } - - return true } else { // send message to target receiver which is connected to any other server gocnjhelper.LogDebug("FORWARDING MESSAGE: receiver connected to other server") @@ -158,11 +153,9 @@ func SendMessageToClient(targetUserId string, msg structs.SendSocketMessage) (co if err != nil { gocnjhelper.LogErrorf("Failed to publish client message, err: %s", err) } - - return true + } else { + // TODO: handle when client not connected to websocket. eg. Push Notification + gocnjhelper.LogDebug("rec user not connected to any other websocket server") } - - gocnjhelper.LogDebug("rec user not connected to any other websocket server") } - return false }