Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZeroMQ PubSink & SubSource #3

Closed
loic-fejoz opened this issue Aug 29, 2021 · 2 comments · Fixed by #9
Closed

ZeroMQ PubSink & SubSource #3

loic-fejoz opened this issue Aug 29, 2021 · 2 comments · Fixed by #9

Comments

@loic-fejoz
Copy link
Contributor

Why ZeroMQ?
ZeroMQ is by default in GNU Radio Companion.

ZMQSubSource & ZMQPubSink as blocks
I would like to have blocks to publish stream & receive stream from other systems.

Underlying ZMQ rust lib?
I have done an experiment with zmq library which is blocking one.
Should we consider using async-zmq (non blocking) or the more idiomatic libzmq (but unmaintained).

Additional context
Having those would enable tests where only part of a chain is migrated to FutureSDR. For instance, it could enable to split a chain between GNU Radio and FutureSDR until FutureSDR had all the mandatory blocks of the overall chain.

@bastibl
Copy link
Member

bastibl commented Aug 30, 2021

I'll have a closer look at the implementation, as soon as I have time. But just because I forgot to mention it in the intro video: One can specify through the BlockMeta that a block uses blocking calls in work, which will spawn it in a separate thread, using its own executor. See
https://docs.rs/futuresdr/0.0.4/futuresdr/runtime/struct.BlockMetaBuilder.html#method.blocking
https://github.com/FutureSDR/FutureSDR/blob/master/src/blocks/soapy_src.rs#L27

@loic-fejoz
Copy link
Contributor Author

@bastibl Thanks for the tip. I will add this.
Once I have properly add ZeroMQ as a feature (by default?), I will create a pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants