public void ReadEnd() { readBuffer.Clear(); midBuffer = readBuffer; readBuffer = null; readEnd.Release(); }
public ByteSpan SwapBegin() { readEnd.WaitOne(); readBuffer = writeBuffer; writeBuffer = midBuffer; midBuffer = null; return(writeBuffer); }
public DoubleBuffer(byte[] readBuffer, byte[] writeBuffer, Action onReadBufferReady) { this.onReadBufferReady = onReadBufferReady; this.midBuffer = new ByteSpan(readBuffer); this.writeBuffer = new ByteSpan(writeBuffer); }