Skip to content

Commit 3b51857

Browse files
committed
Support multiple registered interfaces in interface monitor
1 parent 1aa83a9 commit 3b51857

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

‎monitor.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ type DefaultInterfaceMonitor interface {
3131
RegisterCallback(callback DefaultInterfaceUpdateCallback) *list.Element[DefaultInterfaceUpdateCallback]
3232
UnregisterCallback(element *list.Element[DefaultInterfaceUpdateCallback])
3333
RegisterMyInterface(interfaceName string)
34-
MyInterface() string
34+
MyInterfaces() []string
3535
}
3636

3737
type DefaultInterfaceMonitorOptions struct {

‎monitor_shared.go‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ type defaultInterfaceMonitor struct {
4747
element *list.Element[NetworkUpdateCallback]
4848
access sync.Mutex
4949
callbacks list.List[DefaultInterfaceUpdateCallback]
50-
myInterface string
50+
myInterfaces []string
5151
}
5252

5353
func NewDefaultInterfaceMonitor(networkMonitor NetworkUpdateMonitor, logger logger.Logger, options DefaultInterfaceMonitorOptions) (DefaultInterfaceMonitor, error) {
@@ -137,11 +137,11 @@ func (m *defaultInterfaceMonitor) emit(defaultInterface *control.Interface, flag
137137
func (m *defaultInterfaceMonitor) RegisterMyInterface(interfaceName string) {
138138
m.access.Lock()
139139
defer m.access.Unlock()
140-
m.myInterface = interfaceName
140+
m.myInterfaces = append(m.myInterfaces, interfaceName)
141141
}
142142

143-
func (m *defaultInterfaceMonitor) MyInterface() string {
143+
func (m *defaultInterfaceMonitor) MyInterfaces() []string {
144144
m.access.Lock()
145145
defer m.access.Unlock()
146-
return m.myInterface
146+
return m.myInterfaces
147147
}

0 commit comments

Comments
 (0)