Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(services): setup services before peerinfo is updated #1120

Merged
merged 3 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions libp2p/switch.nim
Original file line number Diff line number Diff line change
Expand Up @@ -349,13 +349,11 @@ proc start*(s: Switch) {.async, public.} =
s.acceptFuts.add(s.accept(t))
s.peerInfo.listenAddrs &= t.addrs

await s.peerInfo.update()

await s.ms.start()

for service in s.services:
discard await service.setup(s)

await s.peerInfo.update()
await s.ms.start()
s.started = true

debug "Started libp2p node", peer = s.peerInfo
Expand Down
5 changes: 3 additions & 2 deletions tests/hole-punching-interop/hole_punching.nim
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import std/[os, options, strformat]
import std/[os, options, strformat, sequtils]
import redis
import chronos, chronicles
import ../../libp2p/[builders,
switch,
multicodec,
observedaddrmanager,
services/hpservice,
services/autorelayservice,
Expand Down Expand Up @@ -76,7 +77,7 @@ proc main() {.async.} =
debug "Connected to relay", relayId

# Wait for our relay address to be published
while switch.peerInfo.addrs.len == 0:
while not switch.peerInfo.addrs.anyIt(it.contains(multiCodec("p2p-circuit")).tryGet()):
await sleepAsync(100.milliseconds)

if isListener:
Expand Down
2 changes: 1 addition & 1 deletion tests/testautonatservice.nim
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import stubs/autonatclientstub
proc createSwitch(autonatSvc: Service = nil, withAutonat = true, maxConnsPerPeer = 1, maxConns = 100, nameResolver: NameResolver = nil): Switch =
var builder = SwitchBuilder.new()
.withRng(newRng())
.withAddresses(@[ MultiAddress.init("/ip4/0.0.0.0/tcp/0").tryGet() ])
.withAddresses(@[ MultiAddress.init("/ip4/0.0.0.0/tcp/0").tryGet() ], false)
.withTcpTransport()
.withMaxConnsPerPeer(maxConnsPerPeer)
.withMaxConnections(maxConns)
Expand Down
2 changes: 1 addition & 1 deletion tests/testautorelay.nim
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import ./helpers
proc createSwitch(r: Relay, autorelay: Service = nil): Switch =
var builder = SwitchBuilder.new()
.withRng(newRng())
.withAddresses(@[ MultiAddress.init("/ip4/0.0.0.0/tcp/0").tryGet() ])
.withAddresses(@[ MultiAddress.init("/ip4/0.0.0.0/tcp/0").tryGet() ], false)
.withTcpTransport()
.withMplex()
.withNoise()
Expand Down
Loading