On Thu, Jul 28, 2016, at 06:44 PM, Johnathan Corgan wrote:
> The ZMQ REQ/REP dataflow has the receiving end REQuest data from the
> sending end when needed, which REPlies with a packet.  It's a form of
> flow control.
>
> From the GNU Radio perspective, streams flow into GNU Radio sinks to
> exit the flowgraph, and data is sourced into a flowgraph from a GNU
> Radio source block.
>
> Thus, the correct model is GR Stream | GR REP Sink | ZMQ REP | ZMQ
> Transport | ZMQ REQ |  GR REQ source | GR stream

The GR stream is no longer the "pull" model that it was back in the day.
If anything, it's more the "push" model: data is created at sources and
moved downstream,  processed & moved again until it reaches sinks.

It's just as valid to say that the sending end generates data, sends it
via ZMQ, & REQuests a reply; the receiving end gets the data via ZMQ
then REPlies; hence REQ/sink -> REP/source instead of the other way
around. That's the model the ZMQ folks use in their Figure 2 from
http://zguide.zeromq.org/page:all .

I'm not saying it's the only way to do things; what I am saying is that
in a quick internet search this REQ/sink -> REP/source is how some other
projects do their transport. I can't review all projects, so I can't say
"many" or "all"; I did not find any projects that didn't do it this way,
except GNU Radio, though they do likely exist.

My argument here is that it's equally valid to do the ZMQ REP/REQ
transport either way, and if other projects are doing it the
opposite way from GNU Radio, why aren't we providing an option to
support that way?

As I wrote: I'm just going to create my own OOT that swaps the REP/REQ
names, so that it works with my project. - MLD
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to