lib: Factor out getting IP address from net.Addr (#8538)

... and add fast paths for common cases.
This commit is contained in:
greatroar
2022-09-14 08:44:46 +02:00
committed by GitHub
parent 6e768a8387
commit 8065cf7e97
7 changed files with 26 additions and 29 deletions
+2 -5
View File
@@ -18,6 +18,7 @@ import (
"github.com/syncthing/syncthing/lib/config"
"github.com/syncthing/syncthing/lib/connections/registry"
"github.com/syncthing/syncthing/lib/nat"
"github.com/syncthing/syncthing/lib/osutil"
"github.com/syncthing/syncthing/lib/protocol"
"github.com/syncthing/syncthing/lib/stats"
@@ -117,14 +118,10 @@ func (c internalConn) Crypto() string {
func (c internalConn) Transport() string {
transport := c.connType.Transport()
host, _, err := net.SplitHostPort(c.LocalAddr().String())
ip, err := osutil.IPFromAddr(c.LocalAddr())
if err != nil {
return transport
}
ip := net.ParseIP(host)
if ip == nil {
return transport
}
if ip.To4() != nil {
return transport + "4"
}