Support multiple registered interfaces in interface monitor
This commit is contained in:
parent
1aa83a9f92
commit
3b51857024
2 changed files with 5 additions and 5 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue