Hi Guys, Ok, I have found out how to make it work reliably. You must register a listener with set_msg_handler, and then you will get the missing messages there.
In light of this, I do not see how pdu_to_tagged_stream could work reliably. It does not register a listener (but it does not block either), so if there is a gap in the message stream, then it will miss that message. Miklos On Fri, Feb 21, 2014 at 11:55 PM, Miklos Maroti <mmar...@math.u-szeged.hu> wrote: > Hi Guys, > > I am using the messaging support of basic_block registering the > message queue with message_port_register_in and removed the obtained > messages with delete_head_blocking. This block is producing streams > and everything seems to work fine as long as I consume the messages > fast enough. However, if I put a throttle block after my stream > producing block, then messages get lost. > > The producer generates 10000 messages with message_port_pub, but the > consumer does not receive all of those messages. I intentionally wait > 500 ms on the producer for the consumer to be started (otherwise the > consumer might not get registered in time). So I have verified that > the problem is not in my code, but somewhere the messages get lost. > > As far as I see in the basic_block code these message queues are not > regular msg_queue objects but std::deque objects protected by locks. I > do not see how messages could get lost. Any ideas? > > Miklos _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio