From 423c5d6d647e2ad5ded80d4d655b67b896699141 Mon Sep 17 00:00:00 2001 From: ycc Date: Thu, 26 Feb 2026 21:07:38 +0100 Subject: [PATCH] refactor to separate uder packing from server packing --- client/helpers/call.go | 2 ++ client/helpers/messageHelper.go | 35 +++++++++++++++++++++------------ 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/client/helpers/call.go b/client/helpers/call.go index 7dd442c..e8667f2 100644 --- a/client/helpers/call.go +++ b/client/helpers/call.go @@ -36,6 +36,7 @@ func ReadCallRequestResponseMessage(data []byte, srvuid string) (*meowlib.VideoD return serverMsg.VideoData, "", nil } +/* func BuildCallMessage(videodata *meowlib.VideoData, srvuid string, peer_uid string, replyToUid string, filelist []string) ([]byte, string, error) { peer := client.GetConfig().GetIdentity().Peers.GetFromUid(peer_uid) @@ -53,3 +54,4 @@ func BuildCallMessage(videodata *meowlib.VideoData, srvuid string, peer_uid stri func BuildCancelCallMessage() { } +*/ diff --git a/client/helpers/messageHelper.go b/client/helpers/messageHelper.go index 84c19e9..7660e7f 100644 --- a/client/helpers/messageHelper.go +++ b/client/helpers/messageHelper.go @@ -5,33 +5,31 @@ import ( "forge.redroom.link/yves/meowlib/client" ) -func messageBuildPackAndStore(msg *meowlib.UserMessage, srvuid string, peer *client.Peer) ([]byte, string, error) { +func PackMessageForServer(packedMsg *meowlib.PackedUserMessage, srvuid string) ([]byte, string, error) { // Get the message server srv, err := client.GetConfig().GetIdentity().MessageServers.LoadServer(srvuid) if err != nil { return nil, "messageBuildPostprocess : LoadServer", err } - // Prepare cyphered + packed user message - packedMsg, err := peer.ProcessOutboundUserMessage(msg) - if err != nil { - return nil, "messageBuildPostprocess : ProcessOutboundUserMessage", err - } // Creating Server message for transporting the user message toServerMessage := srv.BuildToServerMessageFromUserMessage(packedMsg) data, err := srv.ProcessOutboundMessage(toServerMessage) if err != nil { return nil, "messageBuildPostprocess : ProcessOutboundMessage", err } - // Store message - err = peer.StoreMessage(msg, nil) - if err != nil { - return nil, "messageBuildPostprocess : StoreMessage", err - } return data, "", nil + } -func CreateUserMessage(message string, srvuid string, peer_uid string, replyToUid string, filelist []string) ([]byte, string, error) { +func CreateStorePackUserMessageForServer(message string, srvuid string, peer_uid string, replyToUid string, filelist []string) ([]byte, string, error) { + usermessage, errtxt, err := CreateAndStoreUserMessage(message, peer_uid, replyToUid, filelist) + if err != nil { + return nil, errtxt, err + } + return PackMessageForServer(usermessage, srvuid) +} +func CreateAndStoreUserMessage(message string, peer_uid string, replyToUid string, filelist []string) (*meowlib.PackedUserMessage, string, error) { peer := client.GetConfig().GetIdentity().Peers.GetFromUid(peer_uid) // Creating User message @@ -47,8 +45,19 @@ func CreateUserMessage(message string, srvuid string, peer_uid string, replyToUi } usermessage.Status.AnswerToUuid = replyToUid - return messageBuildPackAndStore(usermessage, srvuid, peer) + // Store message + err = peer.StoreMessage(usermessage, nil) + if err != nil { + return nil, "messageBuildPostprocess : StoreMessage", err + } + // Prepare cyphered + packed user message + packedMsg, err := peer.ProcessOutboundUserMessage(usermessage) + if err != nil { + return nil, "messageBuildPostprocess : ProcessOutboundUserMessage", err + } + + return packedMsg, "", nil } func BuildAckMessage(messageUid string, srvuid string, peer_uid string, received int64, processed int64) ([]byte, string, error) {