[zeromq-dev] Zyre extensions

Arnaud Loonstra arnaud at sphaero.org
Fri Jan 10 12:08:21 CET 2014

Hi all,

I was looking into using the headers in ZRE to extend functionality. 
However I'm not sure how to use these headers. There are two examples 
FileMQ and the log extension but they just give a pointer to a socket to 
where nodes can connect.

I can imagine more complicated setups. Like a video stream service for 
which you need to know the video specs (codec format, container format 
etc, etc)

How are other thinking about this? Is the header system not too limited?

I'm currently designing an orchestration system. It could possibly be 
very much like DBus but I need more features, like spatial awareness for 
example. It could be just an RPC system but I like a more strict 
interface so it's easier to connect because of standards.

I'm now using ZRE_SHOUT and ZRE_WHISPER messages to exchange 
capabilities of nodes. A capability tree consists of elements like this:

  node:         name
   root:        physical base properties where node is located
   objects      objects accessible through this node
     object     object properties and data
       signals  signals emitted from this object
       sensors  available sensors on this object
       methods  available methods to be called on this object
       sinks    available stream sinks at this object
       sources  available stream sources at this object
       ...      any data belonging to the object e.g.
       localMat local matrix
       type     type of object (camera, processor, projector, etc)
       visible  visibility state

In essence I'm building on top of ZRE but it could also be considered an 
extension of ZRE. But perhaps I'm reinventing the wheel here. I'm not 
sure how these ZRE headers could help me. But perhaps others have some 



w: http://www.sphaero.org
t: http://twitter.com/sphaero
g: http://github.com/sphaero
i: freenode: sphaero_z25

More information about the zeromq-dev mailing list