- Implement TCP client for watchdog service communication - Add watchdog configuration in config.json - Update main.go to initialize and connect to watchdog - Add watchdog related functions (connect, command handling) - Update README.md with new watchdog feature - Improve route setup logging in router.go
48 lines
594 B
Go
48 lines
594 B
Go
package watchdog
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
func Connect(ipaddr string, port int) bool {
|
|
if IsConnected() {
|
|
return true
|
|
}
|
|
|
|
if err := Init(); err != nil {
|
|
return false
|
|
}
|
|
|
|
if err := tcpConnect(ipaddr, port); err != nil {
|
|
return false
|
|
}
|
|
|
|
response, err := sendMsg("watchdogAgentConnectionTest", 3)
|
|
if err != nil {
|
|
Destroy()
|
|
return false
|
|
}
|
|
|
|
if response != "success" {
|
|
Destroy()
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
func Disconnect() bool {
|
|
if !IsConnected() {
|
|
return true
|
|
}
|
|
|
|
err := Destroy()
|
|
if err != nil {
|
|
return false
|
|
}
|
|
|
|
time.Sleep(100 * time.Millisecond)
|
|
|
|
return true
|
|
}
|