<p> A flow control strategy that accumulates updates and emits window control frames when the accumulated value reaches a threshold. </p> <p> The sender flow control window is represented in the receiver as two buckets: a bigger bucket, initially full, that is drained when data is received, and a smaller bucket, initially empty, that is filled when data is consumed. Only the smaller bucket can refill the bigger bucket. </p> <p> The smaller bucket is defined as a fraction of the bigger bucket. </p> <p> For a more visual representation, see the <a href="http://en.wikipedia.org/wiki/Shishi-odoshi">rocking bamboo fountain</a>. </p> <p> The algorithm works in this way. </p> <p> The initial bigger bucket (BB) capacity is 100, and let's imagine the smaller bucket (SB) being 40% of the bigger bucket: 40. </p> <p> The receiver receives a data frame of 60, so now BB=40; the data frame is passed to the application that consumes 25, so now SB=25. Since SB is not full, no window control frames are emitted. </p> <p> The application consumes other 20, so now SB=45. Since SB is full, its 45 are transferred to BB, which is now BB=85, and a window control frame is sent with delta=45. </p> <p> The application consumes the remaining 15, so now SB=15, and no window control frame is emitted. </p>