While refactoring a data-streaming subsystem today, I realized that 
using ZeroMQ with pub/sub would save me having to repeat the 
distribution process across a whole chain of processes.

With the exception that, at some point, the listeners need to obtain the 
base state.

In video-streaming terms, I guess you would call this keyframing or keying.

Example:

   socket_t outSocket(ctx, ZMQ_SUB) ;
   zmq_connect(outSocket, publisher) ;
   zmq_setsockopt(outSocket, ZMQ_KEYFRAMING, _keyFrameReceiverCallback) ;
   zmq_setsockopt(outSocket, ZMQ_SUBSCRIBE. subscription) ;

The keyframing option automatically sends an out-of-band message to the 
publisher which tells it to send a response with the last keyframe, 
which is then processed by the receiver callback.

Aware of Martin's comments regarding separate administrative layers, I'm 
just wondering if anyone has already created something like this?

Or if not, what the ZeroMQ devs would recommend as a reusable approach 
for implementing this in a 0MQ-contributable fashion?

A device?

If so, I'm already thinking - given Brian Grainger's questions - that it 
might be worth looking at a coherent infrastructure for user-extended 
devices. Such that any well-implemented re-usable layers could be 
contributed into the ZeroMQ source and then combined as needed into 
custom devices by end users.

- Oliver


_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to