.NET Based OPC UA Client/Server SDK  3.1.0.500
UnifiedAutomation.UaBase.RingBuffer< T > Class Template Reference

A class that allows for lock-less access by the thread pool to the queued requests. More...

Inherits IDisposable.

Public Member Functions

void Dispose ()
 Frees any unmanaged resources. More...
 
void Stop ()
 Releases all threads waiting on the buffer. More...
 
void Lock ()
 Blocks until the thread can check the status of the buffer. More...
 
void Unlock ()
 Releases the lock after the thread has finished checking the status of the buffer. More...
 
bool Pop (ref T value)
 Blocks until a value is ready and removes it from the buffer. More...
 
bool Push (ref T value)
 Blocks until space is available in the buffer and adds the value to the buffer. More...
 

Protected Member Functions

virtual void Dispose (bool disposing)
 An overrideable version of the Dispose. More...
 

Properties

uint Size [get]
 The current number of entries in the buffer. More...
 

Detailed Description

A class that allows for lock-less access by the thread pool to the queued requests.

Template Parameters
TThe type of structure in the buffer.
Type Constraints
T :struct 

Member Function Documentation

void UnifiedAutomation.UaBase.RingBuffer< T >.Dispose ( )
inline

Frees any unmanaged resources.

virtual void UnifiedAutomation.UaBase.RingBuffer< T >.Dispose ( bool  disposing)
inlineprotectedvirtual

An overrideable version of the Dispose.

void UnifiedAutomation.UaBase.RingBuffer< T >.Lock ( )
inline

Blocks until the thread can check the status of the buffer.

bool UnifiedAutomation.UaBase.RingBuffer< T >.Pop ( ref T  value)
inline

Blocks until a value is ready and removes it from the buffer.

Parameters
value
Returns
True if a value was returned; false otherwise.
bool UnifiedAutomation.UaBase.RingBuffer< T >.Push ( ref T  value)
inline

Blocks until space is available in the buffer and adds the value to the buffer.

Parameters
value
Returns
True if a value was added; false otherwise.
void UnifiedAutomation.UaBase.RingBuffer< T >.Stop ( )
inline

Releases all threads waiting on the buffer.

void UnifiedAutomation.UaBase.RingBuffer< T >.Unlock ( )
inline

Releases the lock after the thread has finished checking the status of the buffer.

Property Documentation

uint UnifiedAutomation.UaBase.RingBuffer< T >.Size
get

The current number of entries in the buffer.


The documentation for this class was generated from the following file: