Files
sing-box-extended-mirror/experimental/libbox/service_pause.go
T

40 lines
705 B
Go
Raw Normal View History

2024-02-08 22:14:09 +08:00
package libbox
import (
"time"
2025-04-06 16:35:18 +08:00
C "github.com/sagernet/sing-box/constant"
2024-02-08 22:14:09 +08:00
)
2025-04-06 16:35:18 +08:00
type iOSPauseFields struct {
endPauseTimer *time.Timer
2024-02-08 22:14:09 +08:00
}
func (s *BoxService) Pause() {
2025-04-06 16:35:18 +08:00
s.pauseManager.DevicePause()
if !C.IsIos {
s.instance.Router().ResetNetwork()
} else {
if s.endPauseTimer == nil {
s.endPauseTimer = time.AfterFunc(time.Minute, s.pauseManager.DeviceWake)
} else {
s.endPauseTimer.Reset(time.Minute)
}
2024-02-08 22:14:09 +08:00
}
}
func (s *BoxService) Wake() {
2025-04-06 16:35:18 +08:00
if !C.IsIos {
s.pauseManager.DeviceWake()
s.instance.Router().ResetNetwork()
2024-02-08 22:14:09 +08:00
}
}
func (s *BoxService) ResetNetwork() {
2024-11-10 12:11:21 +08:00
s.instance.Router().ResetNetwork()
2024-02-08 22:14:09 +08:00
}
2025-02-20 14:42:09 +08:00
func (s *BoxService) UpdateWIFIState() {
s.instance.Network().UpdateWIFIState()
}