zeromq/pyzmq — pull request #465 by paweljasinski (2014-01-11 02:37:39+00:00)
Title: added support for ironpython - iron_ctypes backend

cffi backend was used as a starting point. ctypes inspiration comes from pyzmq-ctypes project.

What works:
1. Unit tests: Ran 165 tests in 24.916s OK (SKIP=35), tested with libzmq 4.1
2. I am also able to use "ipython notebook", but other components (tornado, ipython and ironpython itself) require patches as well.
3. ipython can be used from PTVS
4. Because of ironpython gc (no ref counting), socket and context support 'with'

What doesn't work:
1. Some of the unittest which are skipped needs attention (gc_test is first on my list).
2. Setup is not finished - build is broken, install must be supplied with specific parameters
3. Some test are broken when testing with 4.0 - very likely can be fixed by regenerating ZMQ.py during setup
4. Selection of the libzmq.dll is manual and static. Ironpython can be started either as 32 or 64 bit app on the same system. Runtime needs to be clever about it and pick up the right dll.
5. There was no testing with 3.2.x
6. No performance testing

What will not work as long as it is libzmq based is zero copy.