using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Wabbajack.Common.CSP { public class FixedSizeBuffer : IBuffer { private int _size; private RingBuffer _buffer; public FixedSizeBuffer(int size) { _size = size; _buffer = new RingBuffer(size); } public void Dispose() { } public bool IsFull => _buffer.Length >= _size; public bool IsEmpty => _buffer.IsEmpty; public T Remove() { return _buffer.Pop(); } public void Add(T itm) { _buffer.UnboundedUnshift(itm); } } }