mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-06-27 02:59:24 +00:00
Add vendor (steam)
This commit is contained in:
43
vendor/github.com/Philipp15b/go-steam/netutil/addr.go
generated
vendored
Normal file
43
vendor/github.com/Philipp15b/go-steam/netutil/addr.go
generated
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
package netutil
|
||||
|
||||
import (
|
||||
"net"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// An addr that is neither restricted to TCP nor UDP, but has an IP and a port.
|
||||
type PortAddr struct {
|
||||
IP net.IP
|
||||
Port uint16
|
||||
}
|
||||
|
||||
// Parses an IP address with a port, for example "209.197.29.196:27017".
|
||||
// If the given string is not valid, this function returns nil.
|
||||
func ParsePortAddr(addr string) *PortAddr {
|
||||
parts := strings.Split(addr, ":")
|
||||
if len(parts) != 2 {
|
||||
return nil
|
||||
}
|
||||
ip := net.ParseIP(parts[0])
|
||||
if ip == nil {
|
||||
return nil
|
||||
}
|
||||
port, err := strconv.ParseUint(parts[1], 10, 16)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return &PortAddr{ip, uint16(port)}
|
||||
}
|
||||
|
||||
func (p *PortAddr) ToTCPAddr() *net.TCPAddr {
|
||||
return &net.TCPAddr{p.IP, int(p.Port), ""}
|
||||
}
|
||||
|
||||
func (p *PortAddr) ToUDPAddr() *net.UDPAddr {
|
||||
return &net.UDPAddr{p.IP, int(p.Port), ""}
|
||||
}
|
||||
|
||||
func (p *PortAddr) String() string {
|
||||
return p.IP.String() + ":" + strconv.FormatUint(uint64(p.Port), 10)
|
||||
}
|
Reference in New Issue
Block a user