chore: message.nim - set max message size to 150KiB according to spec (#2298)

* message.nim: set max message size to 150KiB according to spec

Using KiB instead of KB because that seems more aligned with
the actual default defined in nim-libp2p (1024 * 1024)

Spec details: https://rfc.vac.dev/spec/64/#message-size

* test_protocol.nim: align test to current WakuMessage limit
* test_waku_client.nim: adapt test to MaxWakuMessageSize change
* make maxMessageSize configurable for wakunode2
* wakunode2 app now accepts max-num-bytes-msg-size with KiB, KB, or B units
* testlib/wakunode.nim: set maxMessageSize: "1024 KiB"
* test_waku_client.nim: remove duplicate check in "Valid Payload Sizes"
* set DefaultMaxWakuMessageSizeStr as the only source of truth
* external_config.nim: rename max-num-bytes-msg-size -> max-msg-size
This commit is contained in:
Ivan FB
2024-01-03 13:11:50 +01:00
committed by GitHub
parent ebad0385ef
commit ed09074cc3
16 changed files with 228 additions and 35 deletions
+8 -1
View File
@@ -21,6 +21,7 @@ import
metrics/chronos_httpserver
import
../../waku/common/utils/nat,
../../waku/common/utils/parse_size_units,
../../waku/common/databases/db_sqlite,
../../waku/waku_archive/driver/builder,
../../waku/waku_archive/retention_policy/builder,
@@ -441,8 +442,14 @@ proc setupProtocols(node: WakuNode,
else:
conf.topics
let parsedMaxMsgSize = parseMsgSize(conf.maxMessageSize).valueOr:
return err("failed to parse 'max-num-bytes-msg-size' param: " & $error)
debug "Setting max message size", num_bytes=parsedMaxMsgSize
try:
await mountRelay(node, pubsubTopics, peerExchangeHandler = peerExchangeHandler)
await mountRelay(node, pubsubTopics, peerExchangeHandler = peerExchangeHandler,
int(parsedMaxMsgSize))
except CatchableError:
return err("failed to mount waku relay protocol: " & getCurrentExceptionMsg())
+8 -1
View File
@@ -20,6 +20,9 @@ import
../../waku/waku_enr,
../../waku/node/peer_manager
include
../../waku/waku_core/message/default_values
export
confTomlDefs,
confTomlNet,
@@ -77,6 +80,11 @@ type
defaultValue: "",
name: "rln-relay-eth-private-key" }: string
maxMessageSize* {.
desc: "Maximum message size. Accepted units: KiB, KB, and B. e.g. 1024KiB; 1500 B; etc."
defaultValue: DefaultMaxWakuMessageSizeStr
name: "max-msg-size" }: string
case cmd* {.
command
defaultValue: noCommand }: StartUpCommand
@@ -86,7 +94,6 @@ type
desc: "Runs the registration function on-chain. By default, a dry-run will occur",
defaultValue: false,
name: "execute" .}: bool
of noCommand:
## Application-level configuration