[zeromq-dev] 'zmqd' device

Martin Sustrik sustrik at 250bpm.com
Mon Apr 5 16:12:07 CEST 2010


Jon Dyte wrote:
> gonzalo diethelm wrote:
>>>> Though should the device type be part of the xml config or a command
>>>> line flag
>>>> eg:
>>>> zmq_device --queue myconfig.xml
>>>> or just
>>>> zmq_device myconfig.xml # device type is in the xml
>>>>
>>>> thoughts?
>>>>       
>>> I would say there should be a possibility to define multiple devices
>>> within a single "0mq daemon":
>>>
>>> <config>
>>>    <device type = "forwarder">
>>>      ...
>>>    </device>
>>>    <device type = "queue">
>>>      ...
>>>    </device>
>>> </config>
>>>
>>> ...
>>>
>>> $ zmqd myconfig.xml
>>>     
>>
>> Just to disrupt things a little, and also due to my hatred of XML... It
>> would be great if one could specify this configuration purely with
>> command-line options. If we do keep the XML config file, it would also
>> be great to be able to override any of those options from the
>> command-line.
>>
>> (Ducks and runs).
>>
>>   
> I like the idea of a zmqd with multiple devices (normally each device in 
> it's own thread I presume).

Yes, for the time being. (Later on we should think about how to cram 
multiple devices into a single thread.)

> I'm not a great fan of xml either Gonzalo, though that Xml library 
> included in zmq is so small and
> easy to use. (I used it for something else because compared to xerces it 
> is trivial).
> 
> You could add the options to be on the command line , but my worry  
> would be that the comand line arg list
> could get very busy. The xml allows multiple addresses to be specified 
> both as connect/bind for each socket.

Yes, it would be pretty difficult to come with a sensible command line 
format. The content of the config file is structured in three levels 
device/in-out/connect-bind and I would like to add socket options later on:

...
<in>
     <sockopt name = "IDENTITY" value = "mydevice" />
     <sockopt name = "HWM" value = "1000" />
     <connect address = "tcp://192.168.0.111:5555" />
</in>
...

It would be quite difficult to convey all that on a command line IMO.

Martin



More information about the zeromq-dev mailing list