• Mikio Hara's avatar
    net: support IPv6 scoped addressing zone · aa0dda76
    Mikio Hara authored
    This CL provides IPv6 scoped addressing zone support as defined
    in RFC 4007 for internet protocol family connection setups.
    
    Follwoing types and functions allow a literal IPv6 address with
    zone identifer as theirs parameter.
    
    pkg net, func Dial(string, string) (Conn, error)
    pkg net, func DialOpt(string, ...DialOption) (Conn, error)
    pkg net, func DialTimeout(string, string, time.Duration) (Conn, error)
    pkg net, func Listen(string, string) (Listener, error)
    pkg net, func ListenPacket(string, string) (PacketConn, error)
    pkg net, func ResolveIPAddr(string, string) (*IPAddr, error)
    pkg net, func ResolveTCPAddr(string, string) (*TCPAddr, error)
    pkg net, func ResolveUDPAddr(string, string) (*UDPAddr, error)
    pkg net, type IPAddr struct, Zone string
    pkg net, type TCPAddr struct, Zone string
    pkg net, type UDPAddr struct, Zone string
    
    Also follwoing methods return a literal IPv6 address with zone
    identifier string if possible.
    
    pkg net, method (*IPAddr) String() string
    pkg net, method (*TCPAddr) String() string
    pkg net, method (*UDPAddr) String() string
    
    Fixes #4234.
    Fixes #4501.
    Update #5081.
    
    R=rsc, iant
    CC=golang-dev
    https://golang.org/cl/6816116
    aa0dda76
ipsock.go 5.94 KB