qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Stitcher <astitc...@apache.org>
Subject Heads Up: Planned merge of Qpid Proton Python IO work
Date Wed, 20 Feb 2019 21:04:26 GMT
Over the past months I've been reworking the Qpid Proton Python support
to only use the Qpid Proton Core library APIs and to do all IO with the
built in Python facilities.

This work has been sitting in a PR [1] for a month now and I'm ready to
merge it with the Qpid Proton master branch.

I'll leave it a few days after this mail goes out for some more
comments - after I merge it you'll have to raise a bug report if there
is anything you don't like!

Here is what I wrote in the PR:

This is a reworking of the Python binding to Proton to avoid using APIs
outside the Proton Core library. Thus the Python based reactive code
has been rewritten so that the proton.reactor and proton.handler
modules use only core APIs.

Necessarily this is a large change to the Python binding code, but a
lot of effort has gone into maintaining the existing proton.reactor and
proton.handler APIs. However any code that relied on functionality of
the Proton-C reactor APIs directly will no longer work as these APIs
aren't available from Python any longer.

One area that may be different and is still not 100% solid is in the
area of error/exception handling. I think that you will get exceptions
in the same cases as before, but they could very probably be different
exceptions. It is also possible that some errors are handled
differently. Please raise bugs for any differences/problems found.

This code has been tested with the integrated tests and passes on
Linux, MacOS and Windows on CI systems. Some tests (related to SSL/TLS)
fail on some Windows systems, but the same tests fail previous to these
changes on the the same systems - the failures don't seem due to these
changes. The included python examples all run with this reworked
binding. It has also been tested with the quiver benchmark tool and is
broadly the same performance as the previous binding.

Please try this with your Python code and let me know of any problems.


[1] https://github.com/apache/qpid-proton/pull/173

To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org

View raw message