mirror of
https://github.com/golang/go
synced 2024-11-17 12:14:47 -07:00
net: add addrList
This CL adds a new type addrList that will carry a short list of IP addresses to dial helper functions in the upcoming CLs. This is in preparation for TCP connection setup with fast failover on dual IP stack node as described in RFC 6555. Update #3610 Update #5267 R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/13241046
This commit is contained in:
parent
9456adb36b
commit
20692c22d7
@ -40,6 +40,24 @@ type netaddr interface {
|
|||||||
toAddr() Addr
|
toAddr() Addr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// An addrList represents a list of network endpoint addresses.
|
||||||
|
type addrList []netaddr
|
||||||
|
|
||||||
|
func (al addrList) toAddr() Addr {
|
||||||
|
switch len(al) {
|
||||||
|
case 0:
|
||||||
|
return nil
|
||||||
|
case 1:
|
||||||
|
return al[0].toAddr()
|
||||||
|
default:
|
||||||
|
// For now, we'll roughly pick first one without
|
||||||
|
// considering dealing with any preferences such as
|
||||||
|
// DNS TTL, transport path quality, network routing
|
||||||
|
// information.
|
||||||
|
return al[0].toAddr()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var errNoSuitableAddress = errors.New("no suitable address found")
|
var errNoSuitableAddress = errors.New("no suitable address found")
|
||||||
|
|
||||||
// firstFavoriteAddr returns an address that implemets netaddr
|
// firstFavoriteAddr returns an address that implemets netaddr
|
||||||
|
Loading…
Reference in New Issue
Block a user