[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Which guarantees, if any, do messages provide?
From: |
Lukas Haase |
Subject: |
Which guarantees, if any, do messages provide? |
Date: |
Fri, 22 May 2020 07:26:44 +0200 |
Hello,
I am currently trying to use messages as part of my signal chain and facing
some obstacles.
For example, I use "Message Strobe" to create a message every 10ms. A custom
blocks creates a pulse when the message is received (it does so by putting the
message into a std::queue in the message handler and retrieving it in the work
function).
When I trigger on one pulse and zoom out, I ideally would see one pulse exactly
every 100ms. However, the pulses jump around (i.e., the period always changes).
Similarly, I create 2 of these custom blocks and sum their output signals.
"Message Strobe" sends the same message to both blocks. Ideally the pulses
would align perfectly and I would see one pulse. However, I see two pulses
having a random delay (probably because the message arrives at different times
at the blocks).
1.) What is the typical latency of messages?
2.) Related, what is typically the maximum speed for sending messages? Is
sending messages at >1kHz (i.e., "Message Strobe" with interval <1ms)
meaningful?
3.) Are there any "guarantees" on maximum/minimum delay? (for example, I read
that the message handler is guaranteed to be executed when work() is not. Is an
upper bound of delay (in samples) given by the worst case execution of the work
function, i.e. the size of the output buffer?)
4.) Can I be sure that all messages are received or does gnuradio silently drop
messages under certain conditions?
5.) Are messages always received in correct order?
Thanks,
Lukas
- Which guarantees, if any, do messages provide?,
Lukas Haase <=