Support multiple registered interfaces in interface monitor

This commit is contained in:
世界 2026-06-03 10:24:14 +08:00
parent 1aa83a9f92
commit 3b51857024
No known key found for this signature in database
GPG key ID: CD109927C34A63C4
2 changed files with 5 additions and 5 deletions

View file

@ -47,7 +47,7 @@ type defaultInterfaceMonitor struct {
element *list.Element[NetworkUpdateCallback]
access sync.Mutex
callbacks list.List[DefaultInterfaceUpdateCallback]
myInterface string
myInterfaces []string
}
func NewDefaultInterfaceMonitor(networkMonitor NetworkUpdateMonitor, logger logger.Logger, options DefaultInterfaceMonitorOptions) (DefaultInterfaceMonitor, error) {
@ -137,11 +137,11 @@ func (m *defaultInterfaceMonitor) emit(defaultInterface *control.Interface, flag
func (m *defaultInterfaceMonitor) RegisterMyInterface(interfaceName string) {
m.access.Lock()
defer m.access.Unlock()
m.myInterface = interfaceName
m.myInterfaces = append(m.myInterfaces, interfaceName)
}
func (m *defaultInterfaceMonitor) MyInterface() string {
func (m *defaultInterfaceMonitor) MyInterfaces() []string {
m.access.Lock()
defer m.access.Unlock()
return m.myInterface
return m.myInterfaces
}