Is there any documentation of the new
C++ only gnuradio framework? I'd like some insight into the philosophy
behind it. E.g. why can there only be one top level block? Consider
an example:
I have a transmitter and a receiver.
The two are completely independent. Why can't each one be a
gr_top_block? I may want to stop one but not the other.
The tx and rx may have been designed
by different people. Why do I need another top level to combine the
two?
The gr_top_block appears to separate
the flow graph into independent subgraphs and runs each one in its own
thread. I wonder if this is always the desired behavior. Consider
two threads with different computational requirements. One needs
90% the other 10% of the CPU. The low rate thread should relinquish
control if it has nothing to do. However, that will not happen. Instead,
the scheduler will sit there and use up the entire time to check if the
graph has unblocked. Any ideas?