Flow pauses the delivery of messages to consumers on this channel. Channels are opened with flow control not active, to open a channel with paused deliveries immediately call this method with true after calling Connection.Channel.
When active is true, this method asks the server to temporarily pause deliveries until called again with active as false.
Channel.Get methods will not be affected by flow control.
This method is not intended to act as window control. Use Channel.Qos to limit the number of unacknowledged messages or bytes in flight instead.
The server may also send us flow methods to throttle our publishings. A well behaving publishing client should add a listener with Channel.NotifyFlow and pause its publishings when true is sent on that channel.
Note: RabbitMQ prefers to use TCP push back to control flow for all channels on a connection, so under high volume scenarios, it's wise to open separate Connections for publishings and deliveries.