try continuous port range

master
Christian Ulrich 2020-11-18 18:22:47 +01:00
parent 769621f4b9
commit 490d34bd79
No known key found for this signature in database
GPG Key ID: 8241BE099775A097
1 changed files with 6 additions and 9 deletions

View File

@ -84,16 +84,13 @@ proc predictPortRange*(localPort: Port, probedPorts: seq[Port]): seq[Port] =
return
# assume symmetric NAT with random port mapping
randomize()
let first = if minPort >= 1024 + 10000:
minPort - 10000
let first = if maxPort <= uint16.high - RandomPortCount - 1000'u16:
maxPort + 1000'u16
else:
1024
let last = if maxPort <= uint16.high - 10000:
maxPort + 10000
else:
uint16.high
for _ in 1 .. RandomPortCount:
result.add(Port(rand(first .. last)))
uint16.high - RandomPortCount
result = newSeq[Port](RandomPortCount)
for i in 0'u16 .. RandomPortCount - 1'u16:
result[i] = Port(first + i)
suite "port prediction tests":
test "single port":