Transmit stream tags via socket

Hello list,

I kindly ask for an idea how to transmit a pmt::cons via a tcp (or udp)
connection? Alternatively I want to transmit tagged streams including
the tags. In my special case, the tag in question is an integer, if that
helps.

I checked so far:

  • TCP Sink/Source uses file descriptor sink, which does not “save”
    tags
  • socket PDU, but this only takes the cdr part of the cons

I could imagine that this is a bit tricky as writing tagged streams to
files is tricky, either. Hence I am asking for suggestions, how to
implement this.

Best regards

Stephan Ludwig

Robert Bosch GmbH
Corporate Sector Research & Advance Engineering, Communication
Technology (CR/AEH4)
Renningen
70465 Stuttgart
GERMANY

Tel. +49(711)811-8809
Fax +49(711)811-1052
Mobile +49(172)5630639
[email protected]

Registered Office: Stuttgart, Registration Court: Amtsgericht Stuttgart,
HRB 14000;
Chairman of the Supervisory Board: Franz Fehrenbach; Managing Directors:
Dr. Volkmar Denner,
Dr. Stefan Asenkerschbaumer, Dr. Rolf Bulander, Dr. Stefan Hartung, Dr.
Markus Heyn, Dr. Dirk Hoheisel,
Christoph Kbel, Uwe Raschke, Dr. Werner Struth, Peter Tyroller

Hi Stephan,

have a look at the ZeroMQ blocks (ZeroMQ, including the ZeroMQ C++
wrapper header will need to be present at compilation time);
The ZeroMQ sinks have the option to pass along tags!
ZeroMQ is a world of its own; if you want a single point-to-point
connection, try the REP sink and the REQ source, with an address like
tcp://:5555 in both.
If you want a publisher/multi-subscriber thing, have a look at the
pub/sub combination. There’s examples, typically in
/usr/share/gnuradio/examples/zeromq

Best regards,
Marcus

Hello Marcus,
hello Kevin,

thank you for your hints. Meanwhile I also recognized pmt::serialize,
which I found awesome. And Marcus pointing to ZeroMQ was even better. I
will try both and report back.

Mit freundlichen Gren / Best regards

Stephan Ludwig

Robert Bosch GmbH
Corporate Sector Research & Advance Engineering, Communication
Technology (CR/AEH4)
Renningen
70465 Stuttgart
GERMANY

Tel. +49(711)811-8809
Fax +49(711)811-1052
Mobile +49(172)5630639
[email protected]

Registered Office: Stuttgart, Registration Court: Amtsgericht Stuttgart,
HRB 14000;
Chairman of the Supervisory Board: Franz Fehrenbach; Managing Directors:
Dr. Volkmar Denner,
Dr. Stefan Asenkerschbaumer, Dr. Rolf Bulander, Dr. Stefan Hartung, Dr.
Markus Heyn, Dr. Dirk Hoheisel,
Christoph Kbel, Uwe Raschke, Dr. Werner Struth, Peter Tyroller

-----Ursprngliche Nachricht-----
Von: discuss-gnuradio-bounces+stephan.ludwig2=removed_email_address@domain.invalid
[mailto:discuss-gnuradio-bounces+stephan.ludwig2=removed_email_address@domain.invalid]
Im Auftrag von Marcus M.
Gesendet: Freitag, 26. Juni 2015 10:11
An: [email protected]
Betreff: Re: [Discuss-gnuradio] Transmit stream tags via socket

Hi Stephan,

have a look at the ZeroMQ blocks (ZeroMQ, including the ZeroMQ C++
wrapper header will need to be present at compilation time); The ZeroMQ
sinks have the option to pass along tags!
ZeroMQ is a world of its own; if you want a single point-to-point
connection, try the REP sink and the REQ source, with an address like
tcp://:5555 in both.
If you want a publisher/multi-subscriber thing, have a look at the
pub/sub combination. There’s examples, typically in
/usr/share/gnuradio/examples/zeromq

Best regards,
Marcus

On 06/26/2015 07:20 AM, Ludwig Stephan (CR/AEH4) wrote:

Best regards
Tel. +49(711)811-8809


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Hello all,

as promised my experiences: Using ZeroMQ works really cool and out of
the box. So good that I dropped the option proposed by Kevin (sorry).

I share some (now somewhat trivial) notes, if somebody else (with
equally few experience) wants to try:

  • On Ubuntu you have to install libzmqpp-dev (and dependencies) and then
    re-cmake and re-build GR, as Marcus pointed out.
  • The address field does not resolve domain names
  • REQ = Client, REP = Server
  • your port number must larger 1024 (<1024 are root use only ports)
  • Due to Ubuntus firewall settings (iptables) incoming connections are
    blocks => the IP address of REP(Server) must be the IP in the address
    field.

Thanks to Marcus and Kevin again.

Mit freundlichen Gren / Best regards

Stephan Ludwig

Robert Bosch GmbH
Corporate Sector Research & Advance Engineering, Communication
Technology (CR/AEH4)
Renningen
70465 Stuttgart
GERMANY

Tel. +49(711)811-8809
Fax +49(711)811-1052
Mobile +49(172)5630639
[email protected]

Registered Office: Stuttgart, Registration Court: Amtsgericht Stuttgart,
HRB 14000;
Chairman of the Supervisory Board: Franz Fehrenbach; Managing Directors:
Dr. Volkmar Denner,
Dr. Stefan Asenkerschbaumer, Dr. Rolf Bulander, Dr. Stefan Hartung, Dr.
Markus Heyn, Dr. Dirk Hoheisel,
Christoph Kbel, Uwe Raschke, Dr. Werner Struth, Peter Tyroller

-----Ursprngliche Nachricht-----
Von: discuss-gnuradio-bounces+stephan.ludwig2=removed_email_address@domain.invalid
[mailto:discuss-gnuradio-bounces+stephan.ludwig2=removed_email_address@domain.invalid]
Im Auftrag von Ludwig Stephan (CR/AEH4)
Gesendet: Freitag, 26. Juni 2015 11:13
An: [email protected]
Betreff: Re: [Discuss-gnuradio] Transmit stream tags via socket

Hello Marcus,
hello Kevin,

thank you for your hints. Meanwhile I also recognized pmt::serialize,
which I found awesome. And Marcus pointing to ZeroMQ was even better. I
will try both and report back.

Mit freundlichen Gren / Best regards

Stephan Ludwig

Robert Bosch GmbH
Corporate Sector Research & Advance Engineering, Communication
Technology (CR/AEH4) Renningen
70465 Stuttgart
GERMANY

Tel. +49(711)811-8809
Fax +49(711)811-1052
Mobile +49(172)5630639
[email protected]

Registered Office: Stuttgart, Registration Court: Amtsgericht Stuttgart,
HRB 14000; Chairman of the Supervisory Board: Franz Fehrenbach; Managing
Directors: Dr. Volkmar Denner, Dr. Stefan Asenkerschbaumer, Dr. Rolf
Bulander, Dr. Stefan Hartung, Dr. Markus Heyn, Dr. Dirk Hoheisel,
Christoph Kbel, Uwe Raschke, Dr. Werner Struth, Peter Tyroller

-----Ursprngliche Nachricht-----
Von: discuss-gnuradio-bounces+stephan.ludwig2=removed_email_address@domain.invalid
[mailto:discuss-gnuradio-bounces+stephan.ludwig2=removed_email_address@domain.invalid]
Im Auftrag von Marcus M.
Gesendet: Freitag, 26. Juni 2015 10:11
An: [email protected]
Betreff: Re: [Discuss-gnuradio] Transmit stream tags via socket

Hi Stephan,

have a look at the ZeroMQ blocks (ZeroMQ, including the ZeroMQ C++
wrapper header will need to be present at compilation time); The ZeroMQ
sinks have the option to pass along tags!
ZeroMQ is a world of its own; if you want a single point-to-point
connection, try the REP sink and the REQ source, with an address like
tcp://:5555 in both.
If you want a publisher/multi-subscriber thing, have a look at the
pub/sub combination. There’s examples, typically in
/usr/share/gnuradio/examples/zeromq

Best regards,
Marcus

On 06/26/2015 07:20 AM, Ludwig Stephan (CR/AEH4) wrote:

Best regards
Tel. +49(711)811-8809


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio