Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
0.7
-
None
-
None
Description
My comments grew out of looking at the C++ messaging API, though this probably applies to Python and .NET as well.
During a discussion on users@qpid I initiated recently I learned that creating a number of Receivers and calling session.nextReceiver() to wait for a message on any of the Receivers doesn't work unless some capacity is granted to the Receivers first. This is different from simply calling fetch() on a Receiver with no capacity - in that case the client code issues credit behind the scenes.
The code example shown in section 6 won't work (I used something very similar in a program I wrote, and it didn't for the reason above). I'll attach a patch that fixes the C++ code example, but there should be an introduction/discussion of the whole topic of capacity, credit, acks, etc.