I have a Python client that consumes from a set of queues with no_ack set to False. I assumed that doing this would mean that single consumer would receive only 1 message until the consumer returned an acknowledgment. By receive a message I mean my callback would be called.<div><br></div><div>I recently was testing support for messages that tell the consumer to declare additional queues. I planned on doing this by acknowledging the original message after I ran my queue_declare and queue_bind calls. While testing, I noticed that the on_message_receive callback function was receiving other messages <i><b>before</b></i> my consumer finished the declares/binds, and <i><b>before</b></i> I acknowledged the original message. Is this how Rabbit is supposed to work? Or is this a Pika bug?</div><div><br></div><div>When I set prefetch_count to 1, everything works how I expect. I assumed with the default prefetch_count, or even a prefetch count > 1, that the client would receive messages, but should hold onto them until the acknowledgement for the original message goes out. Is this correct?</div><div>Thanks,</div><div>Charles</div>