If all rbuf slots are in use, `_rbuf_gc` removes the oldest entry even if the entry for the current fragment exists. This effectively decreases usable slots by one. This patch makes `_rbuf_gc` removes the oldest entry only if there is no entry for the current fragment.