12345678910111213141516171819202122 |
- package nebula
- // Windows support is primarily implemented in udp_generic, besides NewListenConfig
- import (
- "fmt"
- "net"
- "syscall"
- )
- func NewListenConfig(multi bool) net.ListenConfig {
- return net.ListenConfig{
- Control: func(network, address string, c syscall.RawConn) error {
- if multi {
- // There is no way to support multiple listeners safely on Windows:
- // https://docs.microsoft.com/en-us/windows/desktop/winsock/using-so-reuseaddr-and-so-exclusiveaddruse
- return fmt.Errorf("multiple udp listeners not supported on windows")
- }
- return nil
- },
- }
- }
|