[zeromq-dev] RFC: "transport" vs. "endpoint" and orthogonal addressing

Martin Lucina mato at kotelna.sk
Tue Jan 26 17:25:44 CET 2010


Hi all,

a couple of points that came up while we were working on the LWN article:

1) "endpoint" seems to be a better term than "transport" for a 0mq URI. This
is especially relevant if we start implementing support for URIs that don't
map directly to a transport, such as the 'locator://' discussed in my
previous e-mail.

2) 0mq addressing should be orthogonal:

At the moment one can do 

zmq_connect(s, "tcp://hostname:port");

but not

zmq_bind(s, "tcp://hostname:port");

It seems to me that there's no reason for having this distinction where
it's not required. I'm not sure about PGM but at least for unicast TCP/UDP
the syntax would be much nicer if it worked like this for both bind() and
connect():

transport://(interface-name | host-name | ip-address):port

To avoid ambiguity, "interface-name" would be tried first, followed by
"host-name". This would break setups where people insist on calling their
host "eth0" but I suspect these are rare :-)

As an additional bonus, we might want to support "*" for bind, meaning "all
interfaces".

-mato



More information about the zeromq-dev mailing list