[zeromq-dev] Malamute tracker strings
Kevin Wang
kevin at spikegadgets.com
Thu Sep 14 23:53:14 CEST 2017
Hi, I'm new to ZeroMQ and over the last few months have been working to
integrate it into our software. We've landed on using Malamute, but the
documentation for it is a little lacking and have had to look into the
source code for some things.
Two things I am confused about are tracker strings and service requests.
1. How are service requests different from just being filtered direct
messages? You still have to specify the address, subject, and content
(optionally tracker and timeout), just like the mailbox pattern.
example:
Mailbox: mlm_client_sendto(client, address, subject, tracker, timeout,
zmsg);
Service: mlm_client_sendfor(client, address, subject, tracker, timeout,
zmsg);
For both, the receiver calls mlm_client_recv(client) the same way. I
don't see how the mailbox pattern is different from the service pattern,
other than the receiver having the ability to filter by subject using
regex.
2. What are tracker strings for? I see in the proto.bnf that if it is
specified, the sender is waiting for a confirm. How is that sent?
Through a mlm_client_sendto? Or is that done automatically? Is this
something I even have control over as the user?
example:
sender: mlm_client_sendto(client, "sender", "subject", "track12345", 0,
zmsg_obj);
receiver: mlm_client_recv(client);
--Does the receiver have to then send a confirmation reply? Is this done
via mlm_client_sendto()? And how does the sender subsequently get the
confirmation reply?
Thanks ahead of time, the entire ZMQ system is really awesome and
inspiring! Fun to use and much cleaner than our current messaging system.
Kevin
More information about the zeromq-dev
mailing list