Here's why it works:

Messages are sent when A AND (B OR C) where:
A = no message currently in flight
B = buffer byte limit exceeded
C = buffer time limit exceeded.

When the values are zero, B and C are both true as soon as the first message is enqueued (the zero byte limit is actually interpreted as 1), so messages are sent whenever there is a message enqueued but no request in-flight.