diff --git a/examples/lightpush_publisher_mix.nim b/examples/lightpush_mix/lightpush_publisher_mix.nim similarity index 100% rename from examples/lightpush_publisher_mix.nim rename to examples/lightpush_mix/lightpush_publisher_mix.nim diff --git a/examples/lightpush_publisher_mix_config.nim b/examples/lightpush_mix/lightpush_publisher_mix_config.nim similarity index 100% rename from examples/lightpush_publisher_mix_config.nim rename to examples/lightpush_mix/lightpush_publisher_mix_config.nim diff --git a/examples/lightpush_publisher_mix_metrics.nim b/examples/lightpush_mix/lightpush_publisher_mix_metrics.nim similarity index 100% rename from examples/lightpush_publisher_mix_metrics.nim rename to examples/lightpush_mix/lightpush_publisher_mix_metrics.nim diff --git a/vendor/mix b/vendor/mix index 1fdcc3538..d8657c20f 160000 --- a/vendor/mix +++ b/vendor/mix @@ -1 +1 @@ -Subproject commit 1fdcc3538c1270463f3711d75a141576c865ed5f +Subproject commit d8657c20f0f30b4211ecf27d5462050ac7ebe4a3 diff --git a/waku.nimble b/waku.nimble index 21edf4eb0..f7c0febd0 100644 --- a/waku.nimble +++ b/waku.nimble @@ -159,7 +159,7 @@ task liteprotocoltester, "Build liteprotocoltester": task lightpushwithmix, "Build lightpushwithmix": let name = "lightpush_publisher_mix" - buildBinary name, "examples/" + buildBinary name, "examples/lightpush_mix/" task buildone, "Build custom target": let filepath = paramStr(paramCount()) diff --git a/waku/waku_mix/protocol.nim b/waku/waku_mix/protocol.nim index 462fa43fc..d7cac152a 100644 --- a/waku/waku_mix/protocol.nim +++ b/waku/waku_mix/protocol.nim @@ -59,7 +59,7 @@ proc appendPeerIdToMultiaddr*(multiaddr: MultiAddress, peerId: PeerId): MultiAdd return multiaddr return cleanAddr -proc populateMixNodePool*(mix: WakuMix) {.async.} = +proc populateMixNodePool*(mix: WakuMix) = # populate only peers that i) are reachable ii) share cluster iii) support mix let remotePeers = mix.peerManager.switch.peerStore.getReachablePeers().filterIt( mixPoolFilter(some(mix.clusterId), it) @@ -83,7 +83,6 @@ proc populateMixNodePool*(mix: WakuMix) {.async.} = # set the mix node pool mix.setNodePool(mixNodes) trace "mix node pool updated", poolSize = mix.getNodePoolSize() - return proc startMixNodePoolMgr*(mix: WakuMix) {.async.} = info "starting mix node pool manager" @@ -92,12 +91,12 @@ proc startMixNodePoolMgr*(mix: WakuMix) {.async.} = # TODO: make initial pool size configurable while mix.getNodePoolSize() < 100 and attempts > 0: attempts -= 1 - discard mix.populateMixNodePool() + mix.populateMixNodePool() await sleepAsync(1.seconds) # TODO: make interval configurable heartbeat "Updating mix node pool", 5.seconds: - discard mix.populateMixNodePool() + mix.populateMixNodePool() #[ proc getBootStrapMixNodes*(node: WakuNode): Table[PeerId, MixPubInfo] = var mixNodes = initTable[PeerId, MixPubInfo]() @@ -145,8 +144,9 @@ proc new*( # TODO : ideally mix should not be marked ready until certain min pool of mixNodes are discovered var m = WakuMix(peerManager: peermgr, clusterId: clusterId) - m.init(localMixNodeInfo, peermgr.switch, initTable[PeerId, MixPubInfo]()) - procCall MixProtocol(m).init() + procCall MixProtocol(m).initialize( + localMixNodeInfo, peermgr.switch, initTable[PeerId, MixPubInfo]() + ) return ok(m)