Class ArrayBufferProvider<T>
A buffer provider for basic array types.
public class ArrayBufferProvider<T> : IResizeableBuffer, IBufferProvider, IDisposable where T : struct
Type Parameters
T
The array buffer type.
- Inheritance
-
ArrayBufferProvider<T>
- Implements
- Inherited Members
Constructors
ArrayBufferProvider(T[])
public ArrayBufferProvider(T[] array)
Parameters
array
T[]
Properties
IsReadOnly
True if the buffer is read only.
public bool IsReadOnly { get; }
Property Value
Size
Size of the buffer in bytes.
public int Size { get; }
Property Value
Methods
Acquire(bool, TimeSpan?)
Acquire a lock to this buffer provider.
public BufferLock Acquire(bool isReadonly = true, TimeSpan? timeout = null)
Parameters
Returns
- BufferLock
The lock instance if successfull.
AsSpan()
public ReadOnlySpan<byte> AsSpan()
Returns
AsWriteSpan()
public Span<byte> AsWriteSpan()
Returns
Clone(IBufferProvider)
public static ArrayBufferProvider<T> Clone(IBufferProvider provider)
Parameters
provider
IBufferProvider
Returns
CopyTo(IBufferProvider, TimeSpan?)
Copy this buffer contents to another buffer.
public void CopyTo(IBufferProvider destination, TimeSpan? timeout = null)
Parameters
destination
IBufferProviderThe destination buffer.
timeout
TimeSpan?Lock acquire time out.
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
Resize(int)
public void Resize(int newSize)
Parameters
newSize
int
TryAcquire(out BufferLock, bool, TimeSpan?)
Try to acquire a lock to this buffer provider.
public bool TryAcquire(out BufferLock @lock, bool isReadonly = true, TimeSpan? timeout = null)
Parameters
lock
BufferLockThe lock object, when true.
isReadonly
boolTrue if for a readonly lock.
timeout
TimeSpan?Lock acquire time out.
Returns
- bool
True if the lock was acquired.