From 3b51857024d03148797d6945bf39935dcabb2bc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Wed, 3 Jun 2026 10:24:14 +0800 Subject: [PATCH] Support multiple registered interfaces in interface monitor --- monitor.go | 2 +- monitor_shared.go | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/monitor.go b/monitor.go index a1866c8..f927141 100644 --- a/monitor.go +++ b/monitor.go @@ -31,7 +31,7 @@ type DefaultInterfaceMonitor interface { RegisterCallback(callback DefaultInterfaceUpdateCallback) *list.Element[DefaultInterfaceUpdateCallback] UnregisterCallback(element *list.Element[DefaultInterfaceUpdateCallback]) RegisterMyInterface(interfaceName string) - MyInterface() string + MyInterfaces() []string } type DefaultInterfaceMonitorOptions struct { diff --git a/monitor_shared.go b/monitor_shared.go index 3595d85..8d239d2 100644 --- a/monitor_shared.go +++ b/monitor_shared.go @@ -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 }