Greetings All, I am currently involved in a project that aims to add SCTP as a transport protocol to ØMQ. So far, we have managed to get SCTP working fine, we just needed to add the ability to modify heart beat and add addresses for multi-homing. The multi-streaming part is going to be the most difficult, but I don't think we will be having any problems adding this.
Back in February, I recall a message that was posted on the mailing list regarding pluggable transport protocols. Having spent some time looking at the ØMQ source code, I determined that I could add this without too much trouble. So we have made some of the necessary changes, and have both SCTP and TCP working as pluggable protocols, with TCP being the default option. We have tested the performance with pluggable and non-pluggable (with TCP) and noticed no difference. At the moment, there is no way to add protocols after ØMQ is compiled, which is the next thing we needed to look at. We have considered a few options: 1) Leave it the way it is, having protocols only added when ØMQ is compiled. I have seen something similar used in the UDT library, but this was with pluggable congestion control algorithms. http://udt.sourceforge.net/ 2) Provide something in the API to enable protocols to be added using shared libraries. 3) Provide a mechanism to register new protocols via the API using factory objects/functions. I am quite keen on option 3, however it would be good if I could get some input from the community before proceeding. One thing to note is that it only currently works with Linux, as this is what our client has requested, but would look at modifying the code to work with both. The interface that I have created requires that the protocols be added using classes created in C++, so I guess I might have to look at modifying it to work with C or provide a mechanism to provide the appropriate functions using pointers. Regards, Michael Holmwood.
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
