Namespace: OtlCollections

Class TOmniBlockingCollection

System.TInterfacedObject
  |
  +-- OtlCollections.TOmniBlockingCollection
All Implemented Interfaces:
IOmniBlockingCollection , IOmniValueEnumerable

public class TOmniBlockingCollection ( System.TInterfacedObject , IOmniBlockingCollection , IOmniValueEnumerable )

Sealed
False
Abstract
False
Persistent
False

Field Summary
  public  System.Integer CCompletedFlag
 
 

Property Summary
  public  OtlSync.TOmniTransitionEvent CompletedSignal
 
  public  OtlContainerObserver.TOmniContainerSubject ContainerSubject
 
  public  integer Count
 
 

Constructor Summary
Create(numProducersConsumers: integer)
 
 

Method Summary
  public Sub Add(value: OtlCommon.TOmniValue )
 
  public Sub CompleteAdding()
 
  public Sub Destroy()
 
  public function OtlCommon.IOmniValueEnumerator GetEnumerator()
 
  public function boolean IsCompleted()
 
  public function boolean IsEmpty()
 
  public function boolean IsFinalized()
 
  public function OtlCommon.TOmniValue Next()
 
  public Sub ReraiseExceptions(enable: boolean)
 
  public Sub SetThrottling(highWaterMark: integer; lowWaterMark: integer)
When throttling is set, Add will block if there is >= highWaterMark elements
in the queue. It will only unblock when number of elements drops below lowWaterMark.
  public function boolean Take(value: OtlCommon.TOmniValue )
 
  public function TArray<T> ToArray<T>(coll: IOmniBlockingCollection )
 
  public function boolean TryAdd(value: OtlCommon.TOmniValue )
 
  public function boolean TryTake(value: OtlCommon.TOmniValue ; timeout_ms: cardinal)
 
 

Field Detail

CCompletedFlag

public const CCompletedFlag: System.Integer = $40000000
Initial
$40000000
Const
True
Class
False

Property Detail

CompletedSignal

public CompletedSignal: OtlSync.TOmniTransitionEvent 
Type
TOmniTransitionEvent
Class
False
Access
read

ContainerSubject

public ContainerSubject: OtlContainerObserver.TOmniContainerSubject 
Type
TOmniContainerSubject
Class
False
Access
read

Count

public Count: integer
Type
integer
Class
False
Access
read

Constructor Detail

Create

public constructor Create(numProducersConsumers: integer)
Final
False
Reintroduce
False
Virtual
False
Override
False
Abstract
False

Method Detail

Add

public procedure Add(value: OtlCommon.TOmniValue )
Final
False
Reintroduce
False
Abstract
False
Override
False
Virtual
False
Class
False

CompleteAdding

public procedure CompleteAdding()
Final
False
Reintroduce
False
Abstract
False
Override
False
Virtual
False
Class
False

Destroy

public procedure Destroy()
Reintroduce
False
Virtual
False
Override
True
Abstract
False
Final
False

GetEnumerator

public function GetEnumerator(): OtlCommon.IOmniValueEnumerator 
Final
False
Reintroduce
False
Abstract
False
Returns
IOmniValueEnumerator
Override
False
Virtual
False
Class
False

IsCompleted

public function IsCompleted(): boolean
Final
False
Reintroduce
False
Abstract
False
Returns
boolean
Override
False
Virtual
False
Class
False

IsEmpty

public function IsEmpty(): boolean
Final
False
Reintroduce
False
Abstract
False
Returns
boolean
Override
False
Virtual
False
Class
False

IsFinalized

public function IsFinalized(): boolean
Final
False
Reintroduce
False
Abstract
False
Returns
boolean
Override
False
Virtual
False
Class
False

Next

public function Next(): OtlCommon.TOmniValue 
Final
False
Reintroduce
False
Abstract
False
Returns
TOmniValue
Override
False
Virtual
False
Class
False

ReraiseExceptions

public procedure ReraiseExceptions(enable: boolean)
Final
False
Reintroduce
False
Abstract
False
Override
False
Virtual
False
Class
False

SetThrottling

public procedure SetThrottling(highWaterMark: integer; lowWaterMark: integer)
Final
False
summary
When throttling is set, Add will block if there is >= highWaterMark elements
in the queue. It will only unblock when number of elements drops below lowWaterMark.
Reintroduce
False
Abstract
False
Override
False
Virtual
False
Class
False

Take

public function Take(value: OtlCommon.TOmniValue ): boolean
Final
False
Reintroduce
False
Abstract
False
Returns
boolean
Override
False
Virtual
False
Class
False

ToArray

public function ToArray<T>(coll: IOmniBlockingCollection ): TArray<T>
Generic Parameters
T
Final
False
Reintroduce
False
Abstract
False
Returns
TArray<T>
Override
False
Virtual
False
Class
True

TryAdd

public function TryAdd(value: OtlCommon.TOmniValue ): boolean
Final
False
Reintroduce
False
Abstract
False
Returns
boolean
Override
False
Virtual
False
Class
False

TryTake

public function TryTake(value: OtlCommon.TOmniValue ; timeout_ms: cardinal): boolean
Final
False
Reintroduce
False
Abstract
False
Returns
boolean
Override
False
Virtual
False
Class
False

Implementation Link

to Interface IOmniBlockingCollection

Client
TOmniBlockingCollection
Supplier
IOmniBlockingCollection

to Interface IOmniValueEnumerable

Client
TOmniBlockingCollection
Supplier
IOmniValueEnumerable

Association Link

to Struct TOmniAlignedInt32

Supplier
TOmniAlignedInt32
Directed
False
Client
obcAddCountAndCompleted
Type
association

to Struct TOmniAlignedInt32

Supplier
TOmniAlignedInt32
Directed
False
Client
obcApproxCount
Type
association

to Class TOmniQueue

Supplier
TOmniQueue
Directed
False
Client
obcCollection
Type
association

to Class TOmniTransitionEvent

Supplier
TOmniTransitionEvent
Directed
False
Client
obcCompletedSignal
Type
association

to Class TOmniTransitionEvent

Supplier
TOmniTransitionEvent
Directed
False
Client
obcNotOverflow
Type
association

to Class TOmniContainerWindowsEventObserver

Supplier
TOmniContainerWindowsEventObserver
Directed
False
Client
obcObserver
Type
association

to Interface IOmniResourceCount

Supplier
IOmniResourceCount
Directed
False
Client
obcResourceCount
Type
association

to Class TOmniTransitionEvent

Supplier
TOmniTransitionEvent
Directed
False
Client
CompletedSignal
Type
association

to Class TOmniContainerSubject

Supplier
TOmniContainerSubject
Directed
False
Client
ContainerSubject
Type
association