mirror of
https://github.com/logos-messaging/go-multiaddr.git
synced 2026-01-08 16:03:06 +00:00
net: added InterfaceMultiaddrs
This commit is contained in:
parent
5d64ba1250
commit
fb33680d08
@ -1,4 +1,4 @@
|
|||||||
package net
|
package manet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -70,6 +70,13 @@ func FromNetAddr(a net.Addr) (ma.Multiaddr, error) {
|
|||||||
}
|
}
|
||||||
return FromIP(ac.IP)
|
return FromIP(ac.IP)
|
||||||
|
|
||||||
|
case "ip+net":
|
||||||
|
ac, ok := a.(*net.IPNet)
|
||||||
|
if !ok {
|
||||||
|
return nil, errIncorrectNetAddr
|
||||||
|
}
|
||||||
|
return FromIP(ac.IP)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("unknown network %v", a.Network())
|
return nil, fmt.Errorf("unknown network %v", a.Network())
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package net
|
package manet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net"
|
"net"
|
||||||
|
|||||||
4
doc.go
4
doc.go
@ -1,5 +1,5 @@
|
|||||||
// Package net provides Multiaddr specific versions of common
|
// Package manet provides Multiaddr specific versions of common
|
||||||
// functions in stdlib's net package. This means wrappers of
|
// functions in stdlib's net package. This means wrappers of
|
||||||
// standard net symbols like net.Dial and net.Listen, as well
|
// standard net symbols like net.Dial and net.Listen, as well
|
||||||
// as conversion to/from net.Addr.
|
// as conversion to/from net.Addr.
|
||||||
package net
|
package manet
|
||||||
|
|||||||
19
net.go
19
net.go
@ -1,4 +1,4 @@
|
|||||||
package net
|
package manet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -216,3 +216,20 @@ func Listen(laddr ma.Multiaddr) (Listener, error) {
|
|||||||
laddr: laddr,
|
laddr: laddr,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// InterfaceMultiaddrs will return the addresses matching net.InterfaceAddrs
|
||||||
|
func InterfaceMultiaddrs() ([]ma.Multiaddr, error) {
|
||||||
|
addrs, err := net.InterfaceAddrs()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
maddrs := make([]ma.Multiaddr, len(addrs))
|
||||||
|
for i, a := range addrs {
|
||||||
|
maddrs[i], err = FromNetAddr(a)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return maddrs, nil
|
||||||
|
}
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package net
|
package manet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user