KMP matcher + ring buffer