| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package server
- import (
- "fmt"
- "log"
- "strconv"
- "strings"
- )
- // Rewrite to become a general input handler
- func (server *Server) readMessages(agent Agent) {
- for {
- _, message, err := agent.conn.ReadMessage()
- if err != nil {
- log.Println("Error reading message:", err)
- break
- }
- // log.Printf("Received(%d): %s\n", messageType, message)
- msgs := server.parseMessage(message)
- if msgs[0] == "update" {
- cpu_usg, err := strconv.Atoi(msgs[1])
- if err != nil {
- fmt.Println("ERROR: converting string to int", err)
- }
- server.Agents[agent.Name].Cpu = append(server.Agents[agent.Name].Cpu, cpu_usg)
- server.Agents[agent.Name].Cpu = server.pruneIntSlice(server.Agents[agent.Name].Cpu)
- mem_usg_string := strings.ReplaceAll(msgs[2], "GB", "")
- mem_usg_float, err := strconv.ParseFloat(mem_usg_string, 64)
- if err != nil {
- log.Fatal("ERROR: failed strconv.ParseFloat():", err)
- }
- server.Agents[agent.Name].Mem_usg = append(server.Agents[agent.Name].Mem_usg, mem_usg_float)
- server.Agents[agent.Name].Mem_usg = server.pruneFloat64Slice(server.Agents[agent.Name].Mem_usg)
- taskId, err := strconv.Atoi(msgs[3])
- if err != nil {
- log.Println("ERROR: cannot convert taskId:", err)
- }
- server.Agents[agent.Name].TaskId = taskId
- }
- if msgs[0] == "deregister" {
- server.closeConnection(agent.Name)
- }
- // This sets the time-out for any incoming messages.
- // conn.SetReadDeadline(time.Now().Add(10 * time.Second))
- }
- }
|