package serverCommunication import ( "time" "krakatoa.net/backend/modules/cache" "krakatoa.net/backend/modules/configs/kraSettingsConfig" "krakatoa.net/backend/modules/logger" ) /* func getClientByDest(dest int, uuid string) (*structs.WebClient, *structs.MinecraftClient) { switch dest { case kraProtocol.DestVoice: return GetWebClientByUuid(uuid), nil case kraProtocol.DestMobile: return GetWebClientByUuid(uuid), nil case kraProtocol.DestProxy: return nil, GetMinecraftClientByName("proxy-1") case kraProtocol.DestPlayersCurrentServer: return nil, GetMinecraftClientByName("lobby-1") default: logger.Web.Println("conn for dest is nil") return nil, nil } } */ func AckHandler() { ticker := time.NewTicker(3 * time.Second) // 20 * time.Millisecond for _ = range ticker.C { currentTime := time.Now() /*for uuid, webClient := range cache.WebClients { logger.Web.Println("ackHandler web client", uuid, webClient.SendVoiceQueueMessages, webClient.SendMobileQueueMessages) } */ for _, mcClient := range cache.MinecraftClients { for _, msg := range mcClient.SendQueueMessages { if int(currentTime.UnixMilli())-int(msg.Time.UnixMilli()) > kraSettingsConfig.Cfg.WebSocket.AckTimeouts[msg.TrySendCount] { logger.Minecraft.Println("here") msg.Time = currentTime err := mcClient.SendBinaryMessage(msg.MessageRaw) if err != nil { logger.Minecraft.Println("ackHandler err sending msg", err) } if msg.TrySendCount < 4 { msg.TrySendCount++ } } } } } }