[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13094393#comment-13094393 ] Gordon Sim commented on QPID-: -- Thanks Anthony! I've committed patches 0009 through 0013. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch, 0009-Wrap-more-exceptions-2011-08-26.patch, 0009-Wrap-more-exceptions-2011-08-26.patch, 0009-Wrapping-of-more-exceptions.patch, 0010-Add-session-property-to-senders-and-receivers.patch, 0011-Wrap-returned-UUIDs-as-Python-UUIDs.patch, 0012-Add-connection-property-to-Session-object.patch, 0012-Add-connection-property-to-Session-object.patch, 0013-Handle-amqp-list-and-amqp-map-content.patch, 0013-Handle-amqp-list-and-amqp-map-content.patch, 9900-Wrap-qpid-framing-NotAttachedException.patch, 9900-Wrap-qpid-framing-NotAttachedException.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13092125#comment-13092125 ] Anthony Foglia commented on QPID-: -- Also, I've added a subtask/bug report (QPID-3458); the compiled part of the swig libraries is installed in the wrong place. It's really a separate bug, but as this is becoming a place to track the SWIG binding progress, it made sense to make it a subtask for now. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch, 0009-Wrap-more-exceptions-2011-08-26.patch, 0009-Wrap-more-exceptions-2011-08-26.patch, 0009-Wrapping-of-more-exceptions.patch, 0010-Add-session-property-to-senders-and-receivers.patch, 0011-Wrap-returned-UUIDs-as-Python-UUIDs.patch, 0012-Add-connection-property-to-Session-object.patch, 0012-Add-connection-property-to-Session-object.patch, 0013-Handle-amqp-list-and-amqp-map-content.patch, 0013-Handle-amqp-list-and-amqp-map-content.patch, 9900-Wrap-qpid-framing-NotAttachedException.patch, 9900-Wrap-qpid-framing-NotAttachedException.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13086431#comment-13086431 ] Gordon Sim commented on QPID-: -- Thanks! Regarding the NotAttachedException, I don't believe it should be mapped to Detached. I think it is an internal error and should map to a RuntimeException. That will also make it more likely that we catch the root cause in future (I've been trying different theories without success in reproducing it). Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch, 0009-Wrapping-of-more-exceptions.patch, 0010-Add-session-property-to-senders-and-receivers.patch, 0011-Wrap-returned-UUIDs-as-Python-UUIDs.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13086434#comment-13086434 ] Gordon Sim commented on QPID-: -- and obviously if it maps to RuntimeException then there is no need to explicitly reference it as I believe that will be the default. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch, 0009-Wrapping-of-more-exceptions.patch, 0010-Add-session-property-to-senders-and-receivers.patch, 0011-Wrap-returned-UUIDs-as-Python-UUIDs.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13084161#comment-13084161 ] Anthony Foglia commented on QPID-: -- I don't know how we got the NotAttachedException. One of the other coders on my team discovered it. I have the chat logs, and but they're not very helpful. Me: No. Any idea what's different? You're running on what machine? Him: it happened to two machines at once Him: oh, maybe a queue overflowed and it's just a different error message than I'm used to from the qpid messaging library [...] Him: maybe it's idsconnecting from the broker when it sees the queue is full? Him: because sessionDisconnected is a pretty different sounding exception from ueueOverFlow or whatever it is we're currently catching This was a month ago, and we were performing some stress tests on our code. And our code isn't currently catching Detached anymore, so there's no help there. I'd suggest leaving the patch in. If you/we ever figure out what threw it, and properly translate it, we can add a patch to also convert that. There's no reason you can't have multiple C++ exception types translate to the same Python type. It's not ideal, but it's possible. The only concern would be if the NotAttachedException shouldn't be translated to a Detached in a signficant number of cases. Another option is to include the qpid::framing header in python.i, not qpid.i, but I figured other bindings should eventually do the same translations. It does give you one less place to change code, should you ever catch and translate the exception in the qpid::messaging space. I vote for putting it in. If I have time, I'll work on breaking that patch up so the Detached exception stuff is separate from the other three. (Ironically, I think it was multiple changes originally, that I rebased into one for your convenience. :-) ) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch, 0009-Wrapping-of-more-exceptions.patch, 0010-Add-session-property-to-senders-and-receivers.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13082550#comment-13082550 ] Gordon Sim commented on QPID-: -- One question on the 0009 patch: How are you triggering the NotAttachedException (i.e. Detached in python)? The messaging API should not throw any qpid::framing exceptions, if it does that is a bug. I'd prefer not to include files from that in qpid.i. The 0010 patch is fine, I can apply that now or wait 'till we resolve 0009. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch, 0009-Wrapping-of-more-exceptions.patch, 0010-Add-session-property-to-senders-and-receivers.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13079317#comment-13079317 ] Robbie Gemmell commented on QPID-: -- The commit for this, r1145698, seems to have broken (log below) the python bindings build on my RHEL 5.3 installation, which has python 2.4.3 and swig 1.3.29 on it. Is a particular version of python or swig required but not being enforced via the configure script? Thanks, Robbie {noformat} Making all in python make[2]: Entering directory `/home/gemmellr/workspace/qpid/qpid/cpp/bindings/qpid/python' /usr/bin/swig -c++ -python -w362,401 -I../../../include -I../../../include -I../../../src/qmf -I../../../src -I../../../src -I../../../src/qmf -I/usr/include -o cqpid.cpp ./python.i /usr/bin/swig -c++ -python -w362,401 -I../../../include -I../../../include -I../../../src/qmf -I../../../src -I../../../src -I../../../src/qmf -I/usr/include -o cqpid.cpp ./python.i ../../../include/qpid/messaging/Address.h:153: Warning(361): operator! ignored ../../../include/qpid/messaging/Address.h:153: Warning(361): operator! ignored ../../../include/qpid/messaging/Address.h:152: Warning(503): Can't wrap 'operator bool' unless renamed to a valid identifier. ../../../include/qpid/messaging/Address.h:152: Warning(503): Can't wrap 'operator bool' unless renamed to a valid identifier. ../../../include/qpid/messaging/Message.h:199: Warning(467): Overloaded qpid::messaging::decode(qpid::messaging::Message const message,qpid::types::Variant::Map map) not supported (no type checking rule for 'qpid::types::Variant::Map '). ../../../include/qpid/messaging/Message.h:211: Warning(467): Overloaded qpid::messaging::decode(qpid::messaging::Message const message,qpid::types::Variant::List list,std::string const encoding=std::string()) not supported (no type checking rule for 'qpid::types::Variant::List '). ../../../include/qpid/messaging/Message.h:199: Warning(467): Overloaded qpid::messaging::decode(qpid::messaging::Message const message,qpid::types::Variant::Map map) not supported (no type checking rule for 'qpid::types::Variant::Map '). ../../../include/qpid/messaging/Message.h:211: Warning(467): Overloaded qpid::messaging::decode(qpid::messaging::Message const message,qpid::types::Variant::List list,std::string const encoding=std::string()) not supported (no type checking rule for 'qpid::types::Variant::List '). ../../../include/qpid/messaging/Message.h:223: Warning(467): Overloaded qpid::messaging::encode(qpid::types::Variant::Map const map,qpid::messaging::Message message) not supported (no type checking rule for 'qpid::types::Variant::Map const '). ../../../include/qpid/messaging/Message.h:235: Warning(467): Overloaded qpid::messaging::encode(qpid::types::Variant::List const list,qpid::messaging::Message message,std::string const encoding=std::string()) not supported (no type checking rule for 'qpid::types::Variant::List const '). ../../../include/qpid/messaging/Message.h:223: Warning(467): Overloaded qpid::messaging::encode(qpid::types::Variant::Map const map,qpid::messaging::Message message) not supported (no type checking rule for 'qpid::types::Variant::Map const '). ../../../include/qpid/messaging/Message.h:235: Warning(467): Overloaded qpid::messaging::encode(qpid::types::Variant::List const list,qpid::messaging::Message message,std::string const encoding=std::string()) not supported (no type checking rule for 'qpid::types::Variant::List const '). ../../../include/qpid/messaging/Connection.h:80: Warning(467): Overloaded qpid::messaging::Connection(std::string const url,qpid::types::Variant::Map const options=qpid::types::Variant::Map()) not supported (no type checking rule for 'qpid::types::Variant::Map const '). ../../../include/qpid/messaging/Connection.h:80: Warning(467): Overloaded qpid::messaging::Connection(std::string const url,qpid::types::Variant::Map const options=qpid::types::Variant::Map()) not supported (no type checking rule for 'qpid::types::Variant::Map const '). make all-am make[3]: Entering directory `/home/gemmellr/workspace/qpid/qpid/cpp/bindings/qpid/python' if /bin/sh ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../../src -I../../../include -I../../../include -I../../../src/qmf -I../../../src -I../../../src -I../../../include -I../../../include -I../../../src/qmf -I../../../src -I../../../src -I/usr/include/python2.4 -fno-strict-aliasing -g -O2 -MT _cqpid_la-cqpid.lo -MD -MP -MF .deps/_cqpid_la-cqpid.Tpo -c -o _cqpid_la-cqpid.lo `test -f 'cqpid.cpp' || echo './'`cqpid.cpp; \ then mv -f .deps/_cqpid_la-cqpid.Tpo .deps/_cqpid_la-cqpid.Plo; else rm -f .deps/_cqpid_la-cqpid.Tpo; exit 1; fi mkdir .libs g++ -DHAVE_CONFIG_H -I. -I. -I../../../src -I../../../include -I../../../include -I../../../src/qmf -I../../../src -I../../../src -I../../../include -I../../../include
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13079376#comment-13079376 ] Gordon Sim commented on QPID-: -- Possibly, I'll see if I can get a RHEL5.3 to debug. On 5.5 with the same versions of swig and python I get a clean build, though the python bindings appear not to be part of it. You can workaround the build error by specifying --without-swig to configure if needed. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13079383#comment-13079383 ] Gordon Sim commented on QPID-: -- Doh, just forgot to install python-devel. With that done I see the same error. Looks like it may actually just be a typo that somehow is handled differently in later versions of swig(?). Trying out a fix now. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13079418#comment-13079418 ] Gordon Sim commented on QPID-: -- Fixed in r1153906. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13079443#comment-13079443 ] Robbie Gemmell commented on QPID-: -- Thanks Gordon, all working again :) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13064044#comment-13064044 ] Gordon Sim commented on QPID-: -- Committed patches 0001-0008 as r1145698. I'll leave this open as there are still some areas to address. Getting pretty close though, thanks Anthony this is invaluable! Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13064046#comment-13064046 ] Gordon Sim commented on QPID-: -- Re auto_delete v. auto-delete, we probably want to support both. Certainly not good that auto_delete is ignored by c++ client. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch, 0007-Handle-connection-options.patch, 0008-Fixes-and-more-improvements-to-Message-objects.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13061509#comment-13061509 ] Anthony Foglia commented on QPID-: -- Can you be more precise about what you did with setOption? We've currently stumbled across a problem where the default sasl-mechanism is different in the two APIs. And since the option name (sasl-mechanism vs. sasl_mechanisms) is different, I was going to just translate underscores to dashes. (The meaning is slightly different, but close enough for now.) Perhaps you had found a better way? (Another issue is that there's no way to get option values of Connection objects in the C++, so debugging will be harder.) And I'll consider changing the string representation of a Message, though I might wait till I have to also fix other issues with them, which will certainly crop up. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13061511#comment-13061511 ] Gordon Sim commented on QPID-: -- fyi: I'm going to commit this patch next week. If anyone has any comments on it, now is the time to make them. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13061516#comment-13061516 ] Gordon Sim commented on QPID-: -- Spooky! You commented at (almost) exactly the same time as me! Here is what I changed, this was not intended to be a solution just a quick hack to test out the changes: {noformat} 22c22,23 from qpid.messaging import * --- from cqpid import * from qpid.datatypes import uuid4 94,97c95,98 conn = Connection(opts.broker, reconnect=opts.reconnect, reconnect_interval=opts.reconnect_interval, reconnect_limit=opts.reconnect_limit) --- conn = Connection(opts.broker) if opts.reconnect: conn.setOption(reconnect, opts.reconnect) if opts.reconnect_interval: conn.setOption(reconnect_interval, opts.reconnect_interval) if opts.reconnect_limit: conn.setOption(reconnect_limit, opts.reconnect_limit) {noformat} The c++ client now recognises the same options as python so e.g. sasl_mechanisms is fine. Good point about the lack of getOption(), I'll add that in. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Assignee: Gordon Sim Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13060422#comment-13060422 ] Gordon Sim commented on QPID-: -- The only changes other than the import were around the connection options which I changed to explicitly use setOption(). Looking at the swig input file and the changes you made already it seemed like that would be easy to resolve as well (I just didn't have time right then). One other thing that would be nice would be getting the string representation of a message to work as in qpid.messaging (not as important, but nice to have and based again on your existing changes looked straightforward to a SWIG novice!). On the imports I just changed: {noformat} from qpid.messaging import * --- from cqpid import * from qpid.datatypes import uuid4 {noformat} Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13060042#comment-13060042 ] Anthony Foglia commented on QPID-: -- How did you have to modify your spout and drain, other than any changes in module names? One problem with making this a fully drop-in replacements is that the python api is a subpackage of the qpid package. So users typically import qpid.messaging and use the full package name (e.g. connection = qpid.messaging.Connection.). One can't do the usual trick of trying to open the compiled version easily, e.g. try : import cPickle as pickle except ImportError : import pickle Instead in our code we've been doing, try : import cqpid as messaging except ImportError : import qpid.messaging as messaging I don't like using the generic name messaging, but it was the easiest. Another problem, which I need to dive into more, is that the make files install the compiled _cqpid.so in ${PREFIX}/lib, not ${PREFIX}/lib/pythonX.Y/site-packages or ${PREFIX}/lib64/pythonX.Y/site-packages. I don't know any of the details of autotools or cmake, but I want to dig in a little before making a new bug report on it. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3333) Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package
[ https://issues.apache.org/jira/browse/QPID-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13059452#comment-13059452 ] Gordon Sim commented on QPID-: -- Fantastic! This is an important step towards a more unified project offering. Patches look good to me, I vote we commit them. There are as yet no tests or examples for the python bindings which is something we need to address. Just to try out these patches I used a modified spout and drain. Getting the existing examples and tests to run over the bindings would be the ideal solution, minimising work. Make Python SWIG bindings a drop-in replacement for pure Python qpid.messaging package -- Key: QPID- URL: https://issues.apache.org/jira/browse/QPID- Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.11, Future Reporter: Anthony Foglia Attachments: 0001-Wrap-NoMessageAvailable-as-Empty-exception.patch, 0002-Change-Connection-interface-to-match-pure-python.patch, 0003-Change-Session-interface-to-match-pure-python.patch, 0004-Change-Receiver-interface-to-match-pure-python.patch, 0005-Change-Sender-interface-to-match-pure-python.patch, 0006-Change-Message-interface-to-match-pure-python.patch These patches are make the compile Python SWIG bindings to the C++ client much closer to a drop-in replacement for the Python qpid.messaging package. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org