Code using for the analysis is the following one: https://github.com/vacp2p/dst-gossipsub-test-node/tree/dst-changes
The only change is that we are using yamux instead of mplex.
In order to repeat the same experiments without mix, we changed the following part:
isPublisher = myId < publisherCount
# [0..<publisherCount] contains all the publishers
isMix = isPublisher # Publishers will be the mix nodes for now
to
isPublisher = myId < publisherCount
# [0..<publisherCount] contains all the publishers
isMix = false # Publishers will not be mix nodes
With this, we would expect the exact same behavior, but without using the mix protocol.
All nodes are crashing for some reason when they have to publish:
2025-05-15 13:12:07 INF 2025-05-15 11:12:07.696+00:00 Publishing message tid=1 msgId=0 timestamp=1747307527696280473
2025-05-15 13:12:07 INF 2025-05-15 11:12:07.696+00:00 Received message tid=1 msgId=0 sentAt=1747307527696280473 delayMs=0
2025-05-15 13:12:07 fatal.nim(53) sysFatal
2025-05-15 13:12:07 main.nim(322) main
2025-05-15 13:12:07 main.nim(322) main
2025-05-15 13:12:07 Error: unhandled exception: main.nim(321, 15) `(await gossipSub.publish("test", payload, useCustomConn = true)) > 0` [AssertionDefect]
And the message looks like never arrived to the other nodes.