Bynder / qpid-bow

Qpid Bow is a higher level client framework for Python 3.6+ to communicate with AMQP/Qpid servers combined with a set of CLI tools to manage a Qpid server.
MIT License
10 stars 7 forks source link

It would help significantly if you could test qpid-bow against qpid-proton 0.27.1 #20

Open astitcher opened 5 years ago

astitcher commented 5 years ago

This is the last version prior to completely rewriting the IO in Python rather than using C as the pinned 0.24 version does.

Doing this will enable us to know if qpid-bow is using any symbols that are no longer exported by the library. And we can take some action to fix this.

Due to some last minute breakage, the 0.28 release (the version after the IO rewrite) is known not to work with external loops - This is PROTON-2051

nugend commented 5 years ago

I was investigating this because I have a need to upgrade to a new version of qpid proton due to a dependency conflict. Independent of the IO rewrite, there's an incompatibility due to EventBase no longer being exported from proton.reactor as of 0.25

afaict though, the class is only used for type checking. I'm presuming this was so that the functions would also accept ApplicationEvent?

astitcher commented 5 years ago

Hmm, I'm not entirely sure what you mean about EventBase. as far as I remember (I'm not in front of the source right now) applications should never need EventBase they only use ApplicationEvent and handle on_foo_event functions.

But I'll have another look when I get back to my computer.

nugend commented 5 years ago

https://github.com/Bynder/qpid-bow/search?utf8=%E2%9C%93&q=EventBase&type=

maruno commented 5 years ago

You're right that EventBase is only used for type-hinting, it can be replaced with the new one.

astitcher commented 5 years ago

I've just checked the proton source and you should use Event as the type hint. You can't get anything else in the handlers unless you actually send an ApplicationEvent yourself. And in that case you can only get an ApplicationEvent.