What is a ring buffer Python?
A ring buffer is a buffer with a fixed size. When it fills up, adding another element overwrites the oldest one that was still being kept. It's particularly useful for the storage of log information and history. There is no direct support in Python for this kind of structure, but it's easy to construct one.
What happens when ring buffer is full?
If the buffer is full, we know that our capacity is at the maximum. If head is greater-than-or-equal-to the tail , we simply subtract the two values to get our size. If tail is greater than head , we need to offset the difference with max to get the correct size.