mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-02-06 23:13:12 +00:00
Fix edge mode config and test added
This commit is contained in:
parent
70c3afb4a7
commit
a9bd1f2f8c
@ -8,6 +8,29 @@ type CliArgs = object
|
||||
.}: string
|
||||
|
||||
proc periodicSender(w: Waku): Future[void] {.async.} =
|
||||
let sentListener = MessageSentEvent.listen(
|
||||
proc(event: MessageSentEvent) {.async: (raises: []).} =
|
||||
echo "Message sent with request ID: ",
|
||||
event.requestId, " hash: ", event.messageHash
|
||||
)
|
||||
|
||||
let errorListener = MessageErrorEvent.listen(
|
||||
proc(event: MessageErrorEvent) {.async: (raises: []).} =
|
||||
echo "Message failed to send with request ID: ",
|
||||
event.requestId, " error: ", event.error
|
||||
)
|
||||
|
||||
let propagatedListener = MessagePropagatedEvent.listen(
|
||||
proc(event: MessagePropagatedEvent) {.async: (raises: []).} =
|
||||
echo "Message propagated with request ID: ",
|
||||
event.requestId, " hash: ", event.messageHash
|
||||
)
|
||||
|
||||
defer:
|
||||
MessageSentEvent.dropListener(sentListener)
|
||||
MessageErrorEvent.dropListener(errorListener)
|
||||
MessagePropagatedEvent.dropListener(propagatedListener)
|
||||
|
||||
## Periodically sends a Waku message every 30 seconds
|
||||
var counter = 0
|
||||
while true:
|
||||
@ -20,6 +43,8 @@ proc periodicSender(w: Waku): Future[void] {.async.} =
|
||||
echo "Failed to send message: ", error
|
||||
quit(QuitFailure)
|
||||
|
||||
echo "Sending message with request ID: ", sendRequestId, " counter: ", counter
|
||||
|
||||
counter += 1
|
||||
await sleepAsync(30.seconds)
|
||||
|
||||
|
||||
@ -21,6 +21,27 @@ suite "LibWaku Conf - toWakuConf":
|
||||
wakuConf.shardingConf.numShardsInCluster == 8
|
||||
wakuConf.staticNodes.len == 0
|
||||
|
||||
test "Edge mode configuration":
|
||||
## Given
|
||||
let protocolsConfig = ProtocolsConfig.init(entryNodes = @[], clusterId = 1)
|
||||
|
||||
let nodeConfig = NodeConfig.init(mode = Edge, protocolsConfig = protocolsConfig)
|
||||
|
||||
## When
|
||||
let wakuConfRes = toWakuConf(nodeConfig)
|
||||
|
||||
## Then
|
||||
require wakuConfRes.isOk()
|
||||
let wakuConf = wakuConfRes.get()
|
||||
require wakuConf.validate().isOk()
|
||||
check:
|
||||
wakuConf.relay == false
|
||||
wakuConf.lightPush == false
|
||||
wakuConf.filterServiceConf.isSome() == false
|
||||
wakuConf.storeServiceConf.isSome() == false
|
||||
wakuConf.peerExchangeService == true
|
||||
wakuConf.clusterId == 1
|
||||
|
||||
test "Core mode configuration":
|
||||
## Given
|
||||
let protocolsConfig = ProtocolsConfig.init(entryNodes = @[], clusterId = 1)
|
||||
|
||||
@ -133,7 +133,15 @@ proc toWakuConf*(nodeConfig: NodeConfig): Result[WakuConf, string] =
|
||||
of Edge:
|
||||
# All client side protocols are mounted by default
|
||||
# Peer exchange client is always enabled and start_node will start the px loop
|
||||
discard
|
||||
# Metadata is always mounted
|
||||
b.withPeerExchange(true)
|
||||
# switch off all service side protocols and relay
|
||||
b.withRelay(false)
|
||||
b.filterServiceConf.withEnabled(false)
|
||||
b.withLightPush(false)
|
||||
b.storeServiceConf.withEnabled(false)
|
||||
# Leave discv5 and rendezvous for user choice
|
||||
|
||||
## Network Conf
|
||||
let protocolsConfig = nodeConfig.protocolsConfig
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user