ensure that messages are received through ack
parent
df8c94a795
commit
457a238082
|
@ -2,6 +2,7 @@ package structs
|
|||
|
||||
import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/websocket/v2"
|
||||
"krakatoa.net/backend/modules/logger"
|
||||
|
@ -49,6 +50,10 @@ func (mcClient *MinecraftClient) GenerateMinecraftCmdID() int {
|
|||
return mcClient.CurrentCmdIDIndexByBackend
|
||||
}
|
||||
|
||||
func (mcClient *MinecraftClient) AddMessageToSendQueue(raw []byte, cmdID int) {
|
||||
mcClient.SendQueueMessages = append(mcClient.SendQueueMessages, &SendQueueMessage{MessageRaw: raw, CmdID: cmdID, TrySendCount: 0, Time: time.Now()})
|
||||
}
|
||||
|
||||
func (mcClient *MinecraftClient) RemoveSendMessageFromQueueByCmdID(cmdID int) {
|
||||
mcClient.sendQueueMessagesMu.Lock()
|
||||
defer mcClient.sendQueueMessagesMu.Unlock()
|
||||
|
|
|
@ -229,7 +229,7 @@ func SendMessageToMinecraftServer(status int, dest int, playerUuid string, cmdNu
|
|||
}
|
||||
|
||||
if status == kraProtocol.StatusGet {
|
||||
mcClient.SendQueueMessages = append(mcClient.SendQueueMessages, &structs.SendQueueMessage{MessageRaw: raw, CmdID: cmdID, TrySendCount: 0, Time: time.Now()})
|
||||
mcClient.AddMessageToSendQueue(raw, cmdID)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -129,14 +129,6 @@ func HandleWebMessage(isVoice bool, conn *websocket.Conn, uuid string, msg []byt
|
|||
raw := kraProtocol.EncodeWebMessage(kraProtocol.StatusErrTryAgain, cmdID, cmdNumber, args)
|
||||
|
||||
webClient.SendBinaryMessage(conn, raw)
|
||||
|
||||
if status == kraProtocol.StatusGet {
|
||||
if isVoice {
|
||||
webClient.SendVoiceQueueMessages = append(webClient.SendVoiceQueueMessages, &structs.SendQueueMessage{MessageRaw: raw, CmdID: cmdID, TrySendCount: 0, Time: time.Now()})
|
||||
} else {
|
||||
webClient.SendMobileQueueMessages = append(webClient.SendMobileQueueMessages, &structs.SendQueueMessage{MessageRaw: raw, CmdID: cmdID, TrySendCount: 0, Time: time.Now()})
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
} else { // web
|
||||
|
|
Loading…
Reference in New Issue