27 lines
606 B
Go
27 lines
606 B
Go
package handler
|
|
|
|
import (
|
|
"log"
|
|
"time"
|
|
)
|
|
|
|
func (h *Handler) HandleCpeStatus() {
|
|
for {
|
|
for cpe := range h.Cpes {
|
|
if cpe == "" {
|
|
continue
|
|
}
|
|
if h.acsConfig.DebugMode {
|
|
log.Println("Checking CPE " + cpe + " status")
|
|
}
|
|
if time.Since(h.Cpes[cpe].LastConnection) > h.acsConfig.KeepAliveInterval {
|
|
log.Printf("LastConnection: %s, KeepAliveInterval: %s", h.Cpes[cpe].LastConnection, h.acsConfig.KeepAliveInterval)
|
|
log.Println("CPE", cpe, "is offline")
|
|
h.pub("cwmp.v1."+cpe+".status", []byte("0"))
|
|
delete(h.Cpes, cpe)
|
|
break
|
|
}
|
|
}
|
|
time.Sleep(10 * time.Second)
|
|
}
|
|
} |