Hi Kelly, > So, the on and off poking at IOCP integration into Zmq has basically >ended for the moment at least by me. I'm actually digging into something >which has done the whole abstraction already before I get back to the Zmq >side of it. I'm not giving up, just taking a look at a project in terms of >them having been there and done that. For those interested, I highly >suggest reading the change lists from V1 to V2rc of libevent, most changes >were required because IOCP is nearly the opposite of all other async >solutions. I'm not saying it is a defeat, just saying that given a good >example of the conversion process it's worth looking at in detail before >making any change suggestions.
Yes. This is a problem with all Microsoft products. Porting 0MQ to to Win32 took approximately 50x more time than porting to any other platform. IOCP seems to be no different in this aspect. > Now given the above, Zmq is more of a high level framing and >organization item than it is a "network" layer. Yes, the low level >networking is important and critical to the functionality of Zmq. But, how >you handle sockets (tcp specifically) is minor in comparison to the rest of >what Zmq does. (Well, has to be fast of course, libevent does that well.) >Perhaps an abstraction layer such that Zmq can sit on libevent on Windows is >the best solution right now? > > The reason I mention this possibility is that everything they have >done, we will likely need to do. An abstraction layer would actually be a >great starting point. Writing a custom layer if desired, would then be less >of a problem. > > Just an idea right now while I'm off playing with libevent release >candidate. 0MQ having as little dependencies (virtually none) is a deliberate decision. It allows porting it to anything from smallest embedded devices to the largest supercomputers. Using libevent would restrict the range just to the platforms supported by libevent. That said, I would reckon that rewriting 0MQ infrastructure to work well with libevent would take more or less same amount of effort as coding native IOCP support. Martin _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
