refactor to separate uder packing from server packing
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
ycc
2026-02-26 21:07:38 +01:00
parent eb7fdc9b03
commit 423c5d6d64
2 changed files with 24 additions and 13 deletions

View File

@@ -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) {