mirror of
https://github.com/status-im/nim-libp2p.git
synced 2025-02-18 07:46:42 +00:00
formatting
This commit is contained in:
parent
980950b147
commit
03668a3e90
@ -32,7 +32,8 @@ type
|
|||||||
## and the machine has 2 interfaces with IPs 172.217.11.174 and 64.233.177.113, the address mapper will
|
## and the machine has 2 interfaces with IPs 172.217.11.174 and 64.233.177.113, the address mapper will
|
||||||
## expand the wildcard address to 172.217.11.174:4001 and 64.233.177.113:4001.
|
## expand the wildcard address to 172.217.11.174:4001 and 64.233.177.113:4001.
|
||||||
|
|
||||||
NetworkInterfaceProvider* = proc (addrFamily: AddressFamily): seq[InterfaceAddress] {.gcsafe, raises: [].}
|
NetworkInterfaceProvider* =
|
||||||
|
proc(addrFamily: AddressFamily): seq[InterfaceAddress] {.gcsafe, raises: [].}
|
||||||
|
|
||||||
proc isLoopbackOrUp(networkInterface: NetworkInterface): bool =
|
proc isLoopbackOrUp(networkInterface: NetworkInterface): bool =
|
||||||
if (networkInterface.ifType == IfSoftwareLoopback) or
|
if (networkInterface.ifType == IfSoftwareLoopback) or
|
||||||
@ -70,9 +71,7 @@ proc new*(
|
|||||||
##
|
##
|
||||||
## Returns:
|
## Returns:
|
||||||
## - A new instance of `WildcardAddressResolverService`.
|
## - A new instance of `WildcardAddressResolverService`.
|
||||||
return T(
|
return T(networkInterfaceProvider: networkInterfaceProvider)
|
||||||
networkInterfaceProvider: networkInterfaceProvider,
|
|
||||||
)
|
|
||||||
|
|
||||||
proc getProtocolArgument*(ma: MultiAddress, codec: MultiCodec): MaResult[seq[byte]] =
|
proc getProtocolArgument*(ma: MultiAddress, codec: MultiCodec): MaResult[seq[byte]] =
|
||||||
var buffer: seq[byte]
|
var buffer: seq[byte]
|
||||||
@ -87,9 +86,7 @@ proc getProtocolArgument*(ma: MultiAddress, codec: MultiCodec): MaResult[seq[byt
|
|||||||
err("Multiaddress codec has not been found")
|
err("Multiaddress codec has not been found")
|
||||||
|
|
||||||
proc getWildcardMultiAddresses(
|
proc getWildcardMultiAddresses(
|
||||||
interfaceAddresses: seq[InterfaceAddress],
|
interfaceAddresses: seq[InterfaceAddress], protocol: Protocol, port: Port
|
||||||
protocol: Protocol,
|
|
||||||
port: Port,
|
|
||||||
): seq[MultiAddress] =
|
): seq[MultiAddress] =
|
||||||
var addresses: seq[MultiAddress]
|
var addresses: seq[MultiAddress]
|
||||||
for ifaddr in interfaceAddresses:
|
for ifaddr in interfaceAddresses:
|
||||||
@ -119,8 +116,7 @@ proc getWildcardAddress(
|
|||||||
return addresses
|
return addresses
|
||||||
|
|
||||||
proc expandWildcardAddresses(
|
proc expandWildcardAddresses(
|
||||||
networkInterfaceProvider: NetworkInterfaceProvider,
|
networkInterfaceProvider: NetworkInterfaceProvider, listenAddrs: seq[MultiAddress]
|
||||||
listenAddrs: seq[MultiAddress],
|
|
||||||
): seq[MultiAddress] =
|
): seq[MultiAddress] =
|
||||||
var addresses: seq[MultiAddress]
|
var addresses: seq[MultiAddress]
|
||||||
# In this loop we expand bounded addresses like `0.0.0.0` and `::` to list of interface addresses.
|
# In this loop we expand bounded addresses like `0.0.0.0` and `::` to list of interface addresses.
|
||||||
@ -171,9 +167,7 @@ method setup*(
|
|||||||
listenAddrs: seq[MultiAddress]
|
listenAddrs: seq[MultiAddress]
|
||||||
): Future[seq[MultiAddress]] {.async.} =
|
): Future[seq[MultiAddress]] {.async.} =
|
||||||
echo listenAddrs
|
echo listenAddrs
|
||||||
return expandWildcardAddresses(
|
return expandWildcardAddresses(self.networkInterfaceProvider, listenAddrs)
|
||||||
self.networkInterfaceProvider, listenAddrs
|
|
||||||
)
|
|
||||||
|
|
||||||
debug "Setting up WildcardAddressResolverService"
|
debug "Setting up WildcardAddressResolverService"
|
||||||
let hasBeenSetup = await procCall Service(self).setup(switch)
|
let hasBeenSetup = await procCall Service(self).setup(switch)
|
||||||
|
@ -40,28 +40,29 @@ proc getAddressesMock(
|
|||||||
|
|
||||||
proc createSwitch(svc: Service): Switch =
|
proc createSwitch(svc: Service): Switch =
|
||||||
SwitchBuilder
|
SwitchBuilder
|
||||||
.new()
|
.new()
|
||||||
.withRng(newRng())
|
.withRng(newRng())
|
||||||
.withAddresses(
|
.withAddresses(
|
||||||
@[
|
@[
|
||||||
MultiAddress.init("/ip4/0.0.0.0/tcp/0/").tryGet(),
|
MultiAddress.init("/ip4/0.0.0.0/tcp/0/").tryGet(),
|
||||||
MultiAddress.init("/ip6/::/tcp/0/").tryGet(),
|
MultiAddress.init("/ip6/::/tcp/0/").tryGet(),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
.withTcpTransport()
|
.withTcpTransport()
|
||||||
.withMplex()
|
.withMplex()
|
||||||
.withNoise()
|
.withNoise()
|
||||||
.withServices(@[svc])
|
.withServices(@[svc])
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
suite "WildcardAddressResolverService":
|
suite "WildcardAddressResolverService":
|
||||||
teardown:
|
teardown:
|
||||||
checkTrackers()
|
checkTrackers()
|
||||||
|
|
||||||
proc setupWildcardService(): Future[tuple[svc: Service, switch: Switch, tcpIp4: MultiAddress, tcpIp6: MultiAddress]] {.async.} =
|
proc setupWildcardService(): Future[
|
||||||
let svc: Service = WildcardAddressResolverService.new(
|
tuple[svc: Service, switch: Switch, tcpIp4: MultiAddress, tcpIp6: MultiAddress]
|
||||||
networkInterfaceProvider = getAddressesMock
|
] {.async.} =
|
||||||
)
|
let svc: Service =
|
||||||
|
WildcardAddressResolverService.new(networkInterfaceProvider = getAddressesMock)
|
||||||
let switch = createSwitch(svc)
|
let switch = createSwitch(svc)
|
||||||
await switch.start()
|
await switch.start()
|
||||||
let tcpIp4 = switch.peerInfo.addrs[0][multiCodec("tcp")].get # tcp port for ip4
|
let tcpIp4 = switch.peerInfo.addrs[0][multiCodec("tcp")].get # tcp port for ip4
|
||||||
@ -70,19 +71,22 @@ suite "WildcardAddressResolverService":
|
|||||||
|
|
||||||
asyncTest "WildcardAddressResolverService must resolve wildcard addresses and stop doing so when stopped":
|
asyncTest "WildcardAddressResolverService must resolve wildcard addresses and stop doing so when stopped":
|
||||||
let (svc, switch, tcpIp4, tcpIp6) = await setupWildcardService()
|
let (svc, switch, tcpIp4, tcpIp6) = await setupWildcardService()
|
||||||
check switch.peerInfo.addrs == @[
|
check switch.peerInfo.addrs ==
|
||||||
MultiAddress.init("/ip4/0.0.0.0" & $tcpIp4).get,
|
@[
|
||||||
MultiAddress.init("/ip6/::" & $tcpIp6).get,
|
MultiAddress.init("/ip4/0.0.0.0" & $tcpIp4).get,
|
||||||
]
|
MultiAddress.init("/ip6/::" & $tcpIp6).get,
|
||||||
|
]
|
||||||
await svc.run(switch)
|
await svc.run(switch)
|
||||||
check switch.peerInfo.addrs == @[
|
check switch.peerInfo.addrs ==
|
||||||
MultiAddress.init("/ip4/127.0.0.1" & $tcpIp4).get,
|
@[
|
||||||
MultiAddress.init("/ip4/192.168.1.22" & $tcpIp4).get,
|
MultiAddress.init("/ip4/127.0.0.1" & $tcpIp4).get,
|
||||||
MultiAddress.init("/ip6/::1" & $tcpIp6).get,
|
MultiAddress.init("/ip4/192.168.1.22" & $tcpIp4).get,
|
||||||
MultiAddress.init("/ip6/fe80::1" & $tcpIp6).get,
|
MultiAddress.init("/ip6/::1" & $tcpIp6).get,
|
||||||
]
|
MultiAddress.init("/ip6/fe80::1" & $tcpIp6).get,
|
||||||
|
]
|
||||||
await switch.stop()
|
await switch.stop()
|
||||||
check switch.peerInfo.addrs == @[
|
check switch.peerInfo.addrs ==
|
||||||
MultiAddress.init("/ip4/0.0.0.0" & $tcpIp4).get,
|
@[
|
||||||
MultiAddress.init("/ip6/::" & $tcpIp6).get,
|
MultiAddress.init("/ip4/0.0.0.0" & $tcpIp4).get,
|
||||||
]
|
MultiAddress.init("/ip6/::" & $tcpIp6).get,
|
||||||
|
]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user