@cryptotaxi247 / kubo / commits / 7a3e0cdc7

CR updates to go-reuseport + go-sockaddr

Juan Batiz-Benet committed Jan 19, 2015 at 16:13 UTC 7a3e0cdc757cea7b67d333cf7b995c80e6f071ae
4 files changed +23 -24
Godeps/Godeps.json
+2 -2
@@ -160,11 +160,11 @@
160 },
161 {
162 "ImportPath": "github.com/jbenet/go-reuseport",
163 - "Rev": "f08ef6913526113c76e12e059ffe1b93319a7a18"
163 + "Rev": "f2ab96a83e1b33b66478eedd314884755d771933"
164 },
165 {
166 "ImportPath": "github.com/jbenet/go-sockaddr/net",
167 - "Rev": "47da30afb462a74cfc7f3df73d4e5cb1bc42b7c7"
167 + "Rev": "da304f94eea1af8ba8d1faf184623e1f9d9777dc"
168 },
169 {
170 "ImportPath": "github.com/jbenet/go-temp-err-catcher",
Godeps/_workspace/src/github.com/jbenet/go-reuseport/README.md
+1 -1
@@ -1,6 +1,6 @@
1 # go-reuseport
2
3 -![travisbadge](https://travis-ci.org/jbenet/go-reuseport.svg)
3 +[![travisbadge](https://travis-ci.org/jbenet/go-reuseport.svg)](https://travis-ci.org/jbenet/go-reuseport)
4
5 This package enables listening and dialing from _the same_ TCP or UDP port.
6 This means that the following sockopts are set:
Godeps/_workspace/src/github.com/jbenet/go-reuseport/impl_unix.go
+1 -2
@@ -13,8 +13,6 @@ import (
13 )
14
15 const (
16 - tcp4 = 52 // "4"
17 - tcp6 = 54 // "6"
16 filePrefix = "port."
17 )
18
@@ -305,6 +303,7 @@ func listenUDP(netw, addr string) (c net.Conn, err error) {
303 return c, err
304 }
305
306 +// this is close to the connect() function inside stdlib/net
307 func connect(fd int, ra syscall.Sockaddr) error {
308 switch err := syscall.Connect(fd, ra); err {
309 case syscall.EINPROGRESS, syscall.EALREADY, syscall.EINTR:
Godeps/_workspace/src/github.com/jbenet/go-sockaddr/net/net.go
+19 -19
@@ -10,9 +10,6 @@ import (
10 // returns AF_UNSPEC if unknown
11 func NetAddrAF(addr net.Addr) int {
12 switch addr := addr.(type) {
13 - default:
14 - return AF_UNSPEC
15 -
13 case *net.IPAddr:
14 return IPAF(addr.IP)
15
@@ -24,6 +21,9 @@ func NetAddrAF(addr net.Addr) int {
21
22 case *net.UnixAddr:
23 return AF_UNIX
24 +
25 + default:
26 + return AF_UNSPEC
27 }
28 }
29
@@ -31,14 +31,14 @@ func NetAddrAF(addr net.Addr) int {
31 // returns AF_UNSPEC if unknown
32 func IPAF(ip net.IP) int {
33 switch {
34 - default:
35 - return AF_UNSPEC
36 -
34 case ip.To4() != nil:
35 return AF_INET
36
37 case ip.To16() != nil:
38 return AF_INET6
39 +
40 + default:
41 + return AF_UNSPEC
42 }
43 }
44
@@ -46,9 +46,6 @@ func IPAF(ip net.IP) int {
46 // returns -1 if protocol unknown
47 func NetAddrIPPROTO(addr net.Addr) int {
48 switch addr := addr.(type) {
49 - default:
50 - return -1
51 -
49 case *net.IPAddr:
50 switch {
51 default:
@@ -66,6 +63,9 @@ func NetAddrIPPROTO(addr net.Addr) int {
63
64 case *net.UDPAddr:
65 return IPPROTO_UDP
66 +
67 + default:
68 + return -1
69 }
70 }
71
@@ -73,8 +73,6 @@ func NetAddrIPPROTO(addr net.Addr) int {
73 // returns 0 if type unknown
74 func NetAddrSOCK(addr net.Addr) int {
75 switch addr := addr.(type) {
76 - default:
77 - return 0
76 case *net.IPAddr:
77 return SOCK_DGRAM
78 case *net.TCPAddr:
@@ -92,6 +90,8 @@ func NetAddrSOCK(addr net.Addr) int {
90 case "unixpacket":
91 return SOCK_SEQPACKET
92 }
93 + default:
94 + return 0
95 }
96 }
97
@@ -99,8 +99,6 @@ func NetAddrSOCK(addr net.Addr) int {
99 // Returns nil if the input is invalid or conversion is not possible.
100 func NetAddrToSockaddr(addr net.Addr) syscall.Sockaddr {
101 switch addr := addr.(type) {
102 - default:
103 - return nil
102 case *net.IPAddr:
103 return IPAddrToSockaddr(addr)
104 case *net.TCPAddr:
@@ -110,6 +108,8 @@ func NetAddrToSockaddr(addr net.Addr) syscall.Sockaddr {
108 case *net.UnixAddr:
109 sa, _ := UnixAddrToSockaddr(addr)
110 return sa
111 + default:
112 + return nil
113 }
114 }
115
@@ -145,14 +145,14 @@ func IPAddrToSockaddr(addr *net.IPAddr) syscall.Sockaddr {
145 func TCPAddrToSockaddr(addr *net.TCPAddr) syscall.Sockaddr {
146 sa := IPAndZoneToSockaddr(addr.IP, addr.Zone)
147 switch sa := sa.(type) {
148 - default:
149 - return nil
148 case *syscall.SockaddrInet4:
149 sa.Port = addr.Port
150 return sa
151 case *syscall.SockaddrInet6:
152 sa.Port = addr.Port
153 return sa
154 + default:
155 + return nil
156 }
157 }
158
@@ -161,14 +161,14 @@ func TCPAddrToSockaddr(addr *net.TCPAddr) syscall.Sockaddr {
161 func UDPAddrToSockaddr(addr *net.UDPAddr) syscall.Sockaddr {
162 sa := IPAndZoneToSockaddr(addr.IP, addr.Zone)
163 switch sa := sa.(type) {
164 - default:
165 - return nil
164 case *syscall.SockaddrInet4:
165 sa.Port = addr.Port
166 return sa
167 case *syscall.SockaddrInet6:
168 sa.Port = addr.Port
169 return sa
170 + default:
171 + return nil
172 }
173 }
174
@@ -178,14 +178,14 @@ func UDPAddrToSockaddr(addr *net.UDPAddr) syscall.Sockaddr {
178 func UnixAddrToSockaddr(addr *net.UnixAddr) (syscall.Sockaddr, int) {
179 t := 0
180 switch addr.Net {
181 - default:
182 - return nil, 0
181 case "unix":
182 t = syscall.SOCK_STREAM
183 case "unixgram":
184 t = syscall.SOCK_DGRAM
185 case "unixpacket":
186 t = syscall.SOCK_SEQPACKET
187 + default:
188 + return nil, 0
189 }
190 return &syscall.SockaddrUnix{Name: addr.Name}, t
191 }