Add ICE connection state change notification and timeouts

This commit is contained in:
Sean DuBois
2018-06-30 02:57:47 -07:00
parent 8c051cf652
commit d236440229
-42
View File
@@ -1,42 +0,0 @@
package ice
import "net"
// HostInterfaces generates a slice of all the IPs associated with interfaces
func HostInterfaces() (ips []string) {
ifaces, err := net.Interfaces()
if err != nil {
return ips
}
for _, iface := range ifaces {
if iface.Flags&net.FlagUp == 0 {
continue // interface down
}
if iface.Flags&net.FlagLoopback != 0 {
continue // loopback interface
}
addrs, err := iface.Addrs()
if err != nil {
return ips
}
for _, addr := range addrs {
var ip net.IP
switch v := addr.(type) {
case *net.IPNet:
ip = v.IP
case *net.IPAddr:
ip = v.IP
}
if ip == nil || ip.IsLoopback() {
continue
}
ip = ip.To4()
if ip == nil {
continue // not an ipv4 address
}
ips = append(ips, ip.String())
}
}
return ips
}