mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2024-11-27 03:55:18 +00:00
31 lines
541 B
Go
31 lines
541 B
Go
package multicast
|
|
|
|
import "regexp"
|
|
|
|
func (m *Multicast) _applyOption(opt SetupOption) {
|
|
switch v := opt.(type) {
|
|
case MulticastInterface:
|
|
m.config._interfaces[v] = struct{}{}
|
|
case GroupAddress:
|
|
m.config._groupAddr = v
|
|
}
|
|
}
|
|
|
|
type SetupOption interface {
|
|
isSetupOption()
|
|
}
|
|
|
|
type MulticastInterface struct {
|
|
Regex *regexp.Regexp
|
|
Beacon bool
|
|
Listen bool
|
|
Port uint16
|
|
Priority uint8
|
|
Password string
|
|
}
|
|
|
|
type GroupAddress string
|
|
|
|
func (a MulticastInterface) isSetupOption() {}
|
|
func (a GroupAddress) isSetupOption() {}
|