Class ReadWriteRingBuffer
A fixed size buffer of bytes. Both reading and writing are supported.
Reading from an empty buffer will wait until data is written. Writing to a full buffer
will wait until data is read.
Inheritance
ReadWriteRingBuffer
Syntax
public class ReadWriteRingBuffer : object
Constructors
ReadWriteRingBuffer(Int32, Nullable<CancellationToken>)
Create a new RingBuffer with a specified size.
Declaration
public ReadWriteRingBuffer(int size, CancellationToken? token = null)
Parameters
Type |
Name |
Description |
Int32 |
size |
The size of the ring buffer to create.
|
Nullable<CancellationToken> |
token |
|
Properties
BytesRead
Declaration
public long BytesRead { get; }
Property Value
BytesWritten
Declaration
public long BytesWritten { get; }
Property Value
Count
Gets the number of elements in the buffer.
Declaration
public int Count { get; }
Property Value
IsClosed
Declaration
public bool IsClosed { get; }
Property Value
IsEmpty
Gets a value indicating wether the buffer is empty or not.
Declaration
public bool IsEmpty { get; }
Property Value
IsFull
Declaration
public bool IsFull { get; }
Property Value
Item[Int32]
Indexer - Get an element from the tail of the RingBuffer.
Declaration
public byte this[int index] { get; }
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Property Value
Length
Declaration
public int Length { get; }
Property Value
Methods
Clear()
Clear the buffer contents.
Declaration
Close()
Close the buffer for writing.
Declaration
Read(Byte[], Int32, Int32)
Declaration
public int Read(byte[] buffer, int index, int count)
Parameters
Returns
ReadByte()
Read a byte from the buffer.
Declaration
Returns
Write(Byte[], Int32, Int32)
Declaration
public void Write(byte[] buffer, int index, int count)
Parameters
WriteByte(Byte)
Write adds a byte to the head of the RingBuffer.
Declaration
public void WriteByte(byte value)
Parameters
Type |
Name |
Description |
Byte |
value |
The value to add.
|