Hi folks, We had an interesting pre-FOSDEM hackathon on Thursday and Friday, in Brussels.
One of the threads that came out, thanks mainly to Doron Somech (NetMQ) was a strategy for simplifying ZeroMQ. This started as a discussion of Nanomsg's dropping of multipart messages. Overall, multipart messages add a lot of complexity and confusion to the library and bindings. In case we forget: - frame vs, message vs. part - routing id frames - request-reply envelopes - router sockets - identities Multipart messages are the main reason we can't make threadsafe sockets. So, we're going to experiment with shifting ZeroMQ (libzmq, NetMQ, CZMQ, and other bindings) in this direction: - deprecate multipart messages from the API - when we need framing, we can use zproto - deprecate ROUTER and DEALER and slowly replace with SERVER / CLIENT sockets that refuse multipart data - deprecate REQ and REP - SERVER has get/set routing ID on message - routing ID is an integer - routing ID cannot be set by peer, so we deprecate ZMQ_IDENTITY - start to aim for threadsafe sockets - deprecate the ability to build request-reply chains ... This is not a roadmap, nor is this a proposal, it's just a realization by several of us that multipart messages create complexity, which we dislike, and which causes cost and irritation. Cheers Pieter _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
