Class ThreadControlQueue

Public

Queue of paths to be processed by the system.

Inner Types

Public Methods

Block ()

Block queue, all calls to Pop will block until Unblock is called.

Public
Lock ()

Aquires a lock on this queue.

Public
Pop ()

Pops the next item off the queue.

Public
PopNoBlock (blockedBefore)

Pops the next item off the queue, this call will not block.

Public
Push (path)

Push a path to the end of the queue.

Public
PushFront (path)

Push a path to the front of the queue.

Public
ReceiverTerminated ()

Call when a receiver was terminated in other ways than by a QueueTerminationException.

Public
TerminateReceivers ()

All calls to Pop and PopNoBlock will now generate exceptions.

Public
ThreadControlQueue (numReceivers)

Create a new queue with the specified number of receivers.

Public
Unblock ()

Unblock queue.

Public
Unlock ()

Releases the lock on this queue.

Public

Public Variables

AllReceiversBlocked

True if blocking and all receivers are waiting for unblocking.

Public
IsEmpty

True if the queue is empty.

Public
IsTerminating

True if TerminateReceivers has been called.

Public

Private/Protected Members

Starving ()
Private
block
Private
blocked
Private
blockedReceivers

Number of receiver threads that are currently blocked.

Private
head
Private
lockObj
Private Readonly
numReceivers
Private Readonly
starving

True while head == null.

Private
tail
Private
terminate

True after TerminateReceivers has been called.

Private