[zeromq-dev] Automagical zdevice/1.0 now available

gonzalo diethelm gdiethelm at dcv.cl
Mon Aug 23 18:07:37 CEST 2010


> > Minor thing: I still think it would be great to have the
> > "tcp://eth0:5555" part defined in a single place, so that you could
> > refer to those endpoints by their names.
> 
> It's actually two different endpoints, not one.  The basic device
> model has a frontend and a backend socket.  Either can connect and/or
> bind to multiple endpoints but they'll not be the same ones.

It is two endpoints for your example. But say I am creating a single
file to be used by all nodes in my architecture; an endpoint will be
bound to somewhere, and connected to somewhere else. I believe it would
be safer to define that end point in a single place. For instance,
instead of:

    "dev1" : {
        "frontend": {
            "bind": "tcp://eth0:5555"
        },
    },
    "dev2" : {
        "frontend": {
            "connect": "tcp://eth0:5555"
        },
    }

I would prefer to do something like this (don't know if this is valid
JSON syntax):

    "endpointA": "tcp://eth0:5555",
    "dev1" : {
        "frontend": {
            "bind": "endpointA"
        },
    },
    "dev2" : {
        "frontend": {
            "connect": "endpointA"
        },
    }

> > Anyway, here is the part I don't really follow: what does the "type:
> > zqueue" do, exactly? Why is that necessary? What if I want to create
a
> > new type of device, one that holds many different internal queues?
Or
> > perhaps one that routes data incoming from an inproc socket directly
out
> > onto a PUB socket?
> 
> It's specified at http://rfc.zeromq.org/spec:3.  Can you tell me if
> that helps or not?

Ok, that helps and leaves room for one's own devices. And it looks like
it could fulfill my own purposes. Thank you for starting this train of
thought!

-- 
Gonzalo Diethelm




More information about the zeromq-dev mailing list