This whole "Message Flow Starvation" section confuses me.  It seems to be built on the premise that a client whose `max_in_flight` setting is > 1 will not (or should not) operate on the messages it receives until it has received at least `max_in_flight` messages.  Is that right?  It doesn't seem obvious to me, and I don't think it's explicitly stated in this doc.

Is this ever an issue when `max_in_flight == 1`?

Example code is given for an implementation of an `is_starved` method, but I don't understand what object that method belongs to, when it would get called, and what action would be taken based on its return value.