[zeromq-dev] Multi-threaded ZeroMQ applications

Martin Sustrik sustrik at 250bpm.com
Thu Apr 1 21:45:44 CEST 2010


Thijs,

> I've been busy reading the source code, trying to figure out how it
> comes XREP actually works :) 

Poor you! The way it works is such a mess in 2.0.6! The high level of 
"socket identity" has to bubble down to the lowest possible level 
(encoder/decoder). It's really ugly.

However, with help of others on the mailing list we've devised a concept 
of "multi-part messages" which will solve the problem in elegant fashion 
in 2.0.7: Simply send the identity as a separate "message part" rather 
than as message prefix. All is done in xrep_t class. Session, engine, 
encoder, decoder etc. can be completely ignorant of the functionality.

Coming soon!

> I finally figured it out, and in the
> process I created a schematic UML diagram of the ZeroMQ code base.
> I've attached it, perhaps it's useful for others as well. I'll
> probably update it later with more details.

Wow! First time I see the whole thing in a single diagram.

Martin



More information about the zeromq-dev mailing list