added mutex
parent
65c162099b
commit
1ea6c3afa8
|
@ -1,8 +1,35 @@
|
|||
package structs
|
||||
|
||||
import "github.com/gofiber/websocket/v2"
|
||||
import (
|
||||
"sync"
|
||||
|
||||
"github.com/gofiber/websocket/v2"
|
||||
"krakatoa.net/backend/modules/logger"
|
||||
)
|
||||
|
||||
type MinecraftClient struct {
|
||||
Name string
|
||||
Connection *websocket.Conn
|
||||
connMu sync.Mutex
|
||||
CmdIDs []int
|
||||
cmdIDMu sync.Mutex
|
||||
}
|
||||
|
||||
func (mcClient *MinecraftClient) SendBinaryMessage(conn *websocket.Conn, msg []byte) error {
|
||||
mcClient.connMu.Lock()
|
||||
defer mcClient.connMu.Unlock()
|
||||
return conn.WriteMessage(websocket.BinaryMessage, msg)
|
||||
}
|
||||
|
||||
func (mcClient *MinecraftClient) RemoveCmdID(cmdID int) {
|
||||
mcClient.cmdIDMu.Lock()
|
||||
defer mcClient.cmdIDMu.Unlock()
|
||||
|
||||
newArr, err := removeCmdIDFromList(mcClient.CmdIDs, cmdID)
|
||||
|
||||
if err != nil {
|
||||
logger.WebVoice.Warnln("removeCmdIDFromList:", err)
|
||||
} else {
|
||||
mcClient.CmdIDs = newArr
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue