discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] messages get lost randomly


From: Miklos Maroti
Subject: Re: [Discuss-gnuradio] messages get lost randomly
Date: Sat, 22 Feb 2014 14:05:10 +0100

Hi Martin,

On Sat, Feb 22, 2014 at 1:44 PM, Martin Braun <address@hidden> wrote:
> On 02/22/2014 12:40 AM, Miklos Maroti wrote:
>> 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
>
> Miklos,
>
> that is right--a thorough discussion of message passing is high on our
> agenda at the moment. pdu_to_tagged_stream is a bit of a special case,
> since the only thing to do with a rx'd message is to put it onto the
> output buffer, which is only available in work(), i.e., if we had a msg
> handler, all it could do is re-buffer the msg before we can copy it into
> the output buffer. One thing we did very recently was increase the size
> of the msg q, so msg loss would be less likely.

My block does exactly the same: copies messages to a stream. In the
handler I just queue it again (no copying, so no memory overhead), and
in work first I check my private queue, if that is empty then I wait
for a new message with delete_head_blocking. It works perfectly
(provided you have enough ram to handle the bursts of messages).

Miklos

>
> MB
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



reply via email to

[Prev in Thread] Current Thread [Next in Thread]