mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-07-19 11:09:26 +00:00
Merge 0a208949090c68b82670011b6c7e1c9f2596bb55 into 77cb8a6c7a199b7823e5149bb72f8ce384883b8f
This commit is contained in:
commit
0b0858a424
@ -7,6 +7,7 @@
|
||||
import std/[tables, sequtils, strutils]
|
||||
import metrics, eth/p2p/discoveryv5/enr, libp2p/peerid, stew/byteutils
|
||||
import logos_delivery/waku/[waku_node, net/bound_ports]
|
||||
import logos_delivery/waku/factory/waku_conf
|
||||
|
||||
type
|
||||
NodeInfoId* {.pure.} = enum
|
||||
@ -17,9 +18,11 @@ type
|
||||
MyPeerId
|
||||
MyBoundPorts
|
||||
MyMixPubKey
|
||||
MaxMessageSize
|
||||
|
||||
WakuStateInfo* {.requiresInit.} = object
|
||||
node: WakuNode
|
||||
conf: WakuConf
|
||||
|
||||
proc getAllPossibleInfoItemIds*(self: WakuStateInfo): seq[NodeInfoId] =
|
||||
## Returns all possible options that can be queried to learn about the node's information.
|
||||
@ -52,8 +55,11 @@ proc getNodeInfoItem*(self: WakuStateInfo, infoItemId: NodeInfoId): string =
|
||||
if self.node.wakuMix.isNil():
|
||||
return ""
|
||||
return self.node.wakuMix.pubKey.to0xHex()
|
||||
of NodeInfoId.MaxMessageSize:
|
||||
## Configured max message size (in bytes) for this node.
|
||||
return $self.conf.maxMessageSizeBytes
|
||||
else:
|
||||
return "unknown info item id"
|
||||
|
||||
proc init*(T: typedesc[WakuStateInfo], node: WakuNode): T =
|
||||
return WakuStateInfo(node: node)
|
||||
proc init*(T: typedesc[WakuStateInfo], node: WakuNode, conf: WakuConf): T =
|
||||
return WakuStateInfo(node: node, conf: conf)
|
||||
|
||||
@ -235,7 +235,7 @@ proc new*(
|
||||
return err("Failed setting up app callbacks: " & $error)
|
||||
|
||||
var waku = Waku(
|
||||
stateInfo: WakuStateInfo.init(node),
|
||||
stateInfo: WakuStateInfo.init(node, wakuConf),
|
||||
conf: wakuConf,
|
||||
rng: rng,
|
||||
key: wakuConf.nodeKey,
|
||||
|
||||
@ -235,7 +235,9 @@ suite "Health Monitor - events":
|
||||
# `waku.node` is read on the messaging path; `conf`/`stateInfo` are supplied
|
||||
# solely to satisfy Waku's {.requiresInit.} fields.
|
||||
let waku = Waku(
|
||||
node: nodeA, conf: defaultTestWakuConf(), stateInfo: WakuStateInfo.init(nodeA)
|
||||
node: nodeA,
|
||||
conf: defaultTestWakuConf(),
|
||||
stateInfo: WakuStateInfo.init(nodeA, defaultTestWakuConf()),
|
||||
)
|
||||
let ds = MessagingClient
|
||||
.new(MessagingClientConf(reliabilityEnabled: some(false)), waku)
|
||||
@ -346,7 +348,9 @@ suite "Health Monitor - events":
|
||||
# `waku.node` is read on the messaging path; `conf`/`stateInfo` are supplied
|
||||
# solely to satisfy Waku's {.requiresInit.} fields.
|
||||
let waku = Waku(
|
||||
node: nodeA, conf: defaultTestWakuConf(), stateInfo: WakuStateInfo.init(nodeA)
|
||||
node: nodeA,
|
||||
conf: defaultTestWakuConf(),
|
||||
stateInfo: WakuStateInfo.init(nodeA, defaultTestWakuConf()),
|
||||
)
|
||||
let ds = MessagingClient
|
||||
.new(MessagingClientConf(reliabilityEnabled: some(false)), waku)
|
||||
|
||||
@ -27,6 +27,20 @@ suite "Wakunode2 - Waku":
|
||||
check:
|
||||
version == git_version
|
||||
|
||||
test "max message size should be reported from node info":
|
||||
## Given
|
||||
let conf = defaultTestWakuConf()
|
||||
|
||||
let waku = (waitFor Waku.new(conf)).valueOr:
|
||||
raiseAssert error
|
||||
|
||||
## When
|
||||
let maxMessageSize = waku.stateInfo.getNodeInfoItem(NodeInfoId.MaxMessageSize)
|
||||
|
||||
## Then
|
||||
check:
|
||||
maxMessageSize == $conf.maxMessageSizeBytes
|
||||
|
||||
suite "Wakunode2 - Waku initialization":
|
||||
test "peer persistence setup should be successfully mounted":
|
||||
## Given
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user