Overview | Namespace | Classifier | Tree | Index | Help
PREV NEXT | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | DESTR | METHOD | DETAIL: FIELD | CONSTR | DESTR | METHOD

## 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

Overview | Namespace | Classifier | Tree | Index | Help
PREV NEXT | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | DESTR | METHOD | DETAIL: FIELD | CONSTR | DESTR | METHOD