adding MPSC ring buffer class