User Tools

Site Tools


info:zeromq

This is an old revision of the document!


Links

General Notes

Encryption

Integrating with Event Loops

There is some trickiness because of the edge-triggering. Example integration with libev: http://funcptr.net/2013/04/20/embedding-zeromq-in-the-libev-event-loop/

For integration with Qt, QSocketNotifier provides monitoring of file descriptors, and a QTimer with a timeout of 0 should act be the same as the idle callback mentioned in the article. There is a C++ implementation of this in https://github.com/jonnydee/nzmqt. For Python it seems like it would be better to re-implement with PyQt.

From the Guide

Anecdotes

From the introduction:

Programming is a science dressed up as art, because most of us don't understand the physics of software, and it's rarely if ever taught. The physics of software is not algorithms, data structures, languages and abstractions. These are just tools we make, use, throw away. The real physics of software is the physics of people.

Specifically, our limitations when it comes to complexity, and our desire to work together to solve large problems in pieces. This is the science of programming: make building blocks that people can understand and use easily, and people will work together to solve the very largest problems.

From "Code Generation":

At iMatix, until a few years ago, we used code generation to build ever larger and more ambitious systems until we decided the technology (GSL) was too dangerous for common use, and we sealed the archive and locked it, with heavy chains, in a deep dungeon. Well, we actually posted it on github.

Regarding Serialization Libraries:

It works but in most practical cases, wins you little over a serialization language backed by decent specifications written by hand or produced mechanically (we'll come to this). The price you'll pay is an extra dependency, and quite probably, worse overall performance than if you used Cheap and Nasty.

Q: What about gaining simplicity/extensibility with "fast enough" performance?

Technical Notes

  • ØMQ strings are length-specified, and are sent on the wire without a trailing null
  • Note that it is legal to both bind a socket to an endpoint and connect it to other endpoints.

Bookmarks (Things to Review)

  • Handling Interrupt Signals
  • Multithreading with ØMQ - "rules to write happy multithreaded code with ØMQ"
  • Heartbeating
  • Code Generation
info/zeromq.1403650754.txt.bz2 · Last modified: 2014-06-24 22:59 by sam