[ https://issues.apache.org/jira/browse/PROTON-564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Ross closed PROTON-564. ------------------------------ Resolution: Won't Fix > Messenger.work doesn't receive messages > --------------------------------------- > > Key: PROTON-564 > URL: https://issues.apache.org/jira/browse/PROTON-564 > Project: Qpid Proton > Issue Type: Bug > Affects Versions: 0.6, 0.7 > Environment: Fedora 19, Python 2.7.5 > Reporter: Justin Ross > > Sink: > {noformat} > from proton import Messenger, Message > msgr = Messenger() > msgr.start() > try: > msgr.subscribe("amqp://~0.0.0.0:50000") > msg = Message() > while True: > print "Tick; incoming={}".format(msgr.incoming) > msgr.work() > # msgr.recv() XXX > > for i in range(msgr.incoming): > msgr.get(msg) > print(msg) > finally: > msgr.stop() > {noformat} > Source: > {noformat} > from proton import Messenger, Message > msgr = Messenger() > msgr.start() > try: > msg = Message() > msg.address = "amqp://0.0.0.0:50000/test" > for i in range(10): > print "Tick {}".format(i) > msg.body = "Message {}".format(i) > msgr.put(msg) > msgr.send() > finally: > msgr.stop() > {noformat} > On 0.6, it blocks on one of the work calls with incoming always 0. On 0.7, > it keeps looping through work calls with incoming always 0. The source sends > nothing. > Note the XXX bit in the sink. If you uncomment that. The sink consumes the > messages. > The python API documentation says the following: > {noformat} > Sends or receives any outstanding messages queued for a Messenger. This will > block for the indicated timeout. This method may also do I/O work other than > sending and receiving messages. For example, closing connections after > messenger.stop() has been called. > {noformat} > Based on that, I expect that I should not need to call recv. -- This message was sent by Atlassian JIRA (v6.3.4#6332)