]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Promote ipPort to its own file
authorMatt Joiner <anacrolix@gmail.com>
Sun, 4 Nov 2018 05:56:02 +0000 (16:56 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Sun, 4 Nov 2018 10:15:51 +0000 (21:15 +1100)
bep40.go
ipport.go [new file with mode: 0644]

index fa696bdac57233917e868cc40e2664ebb00b09ac..6c507d354280e5156f3cbc1996939c2167d3d356 100644 (file)
--- a/bep40.go
+++ b/bep40.go
@@ -13,11 +13,6 @@ var table = crc32.MakeTable(crc32.Castagnoli)
 
 type peerPriority = uint32
 
-type ipPort struct {
-       IP   net.IP
-       Port uint16
-}
-
 func sameSubnet(ones, bits int, a, b net.IP) bool {
        mask := net.CIDRMask(ones, bits)
        return a.Mask(mask).Equal(b.Mask(mask))
diff --git a/ipport.go b/ipport.go
new file mode 100644 (file)
index 0000000..38036cb
--- /dev/null
+++ b/ipport.go
@@ -0,0 +1,21 @@
+package torrent
+
+import (
+       "net"
+       "strconv"
+
+       "github.com/anacrolix/missinggo"
+)
+
+type ipPort struct {
+       IP   net.IP
+       Port uint16
+}
+
+func (me ipPort) String() string {
+       return net.JoinHostPort(me.IP.String(), strconv.FormatUint(uint64(me.Port), 10))
+}
+
+func ipPortFromNetAddr(na net.Addr) ipPort {
+       return ipPort{missinggo.AddrIP(na), uint16(missinggo.AddrPort(na))}
+}