public void Create(CircleBufferEntry cbe) { currentReadIndex = currentWriteIndex; //Sync cbes[currentWriteIndex++] = cbe; if (currentWriteIndex == cbes.Length) { currentWriteIndex = 0; } }
public CircleBufferEntry[] Read() { CircleBufferEntry[] cbuf = new CircleBufferEntry[cbes.Length]; for (int i = 0; i < cbes.Length; i++) { if (cbes[currentReadIndex] != null) { cbuf[i] = cbes[currentReadIndex++]; } if (currentReadIndex == cbes.Length) { currentReadIndex = 0; } } return(cbuf); }