discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Msg Queues and Watcher Threads


From: Steven Clark
Subject: [Discuss-gnuradio] Msg Queues and Watcher Threads
Date: Tue, 4 Mar 2008 14:27:14 -0500

I like the use of the watcher thread in pkt.demod_pkts, and was
wondering if I could use a similar technique in the following
situation:

Two disconnected subgraphs:
msg_source_1  ->  transform_blk_1  ->  msg_sink_1

msg_source_2  ->  modulator

The user places 'm'-byte messages in msg_source_1.
transform_blk consumes 'm' bytes and produces 'n' different bytes.
A queue watcher thread takes the 'n'-byte messages from msg_sink_1,
applies a second transform, and places the result in msg_source_2.

I want to use this for encoding packets with FEC (transform_blk_1 is a
viterbi_encoder, and the queue watcher thread calls
packet_utils.make_packet(msg) when msg = self.msg_queue.delete_head()
unblocks).
Does this seem reasonable?

Is it guaranteed that x messages into msg_source_1 produces x messages
into msg_source_2? (In other words, is there any danger of messages
being combined?)

Also, if transform_blk_1 has some saved state that I'd like to reset
in between packets, is it possible/safe to do so from the Queue
watcher thread? I'm worried about race conditions...

-Steven




reply via email to

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