Class ThreadControlQueue
    Public
    
    Queue of paths to be processed by the system.
Inner Types
Public Methods
        
                AddReceivers
        
                (numReceivers)
    
                    
                    
                        Public
                    
                
        
                Block
        
                ()
    
                    
                    Block queue, all calls to Pop will block until Unblock is called.
                        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.
                        Public
                    
                
        
                Reset
        
                ()
    
                    
                    
                        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
                    
                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
                    
                
        
                numReceivers
        
    
                    
                    
                        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
                    
                
        
                starving
        
    
                    
                    True while head == null.
                        Private
                    
                
        
                tail
        
    
                    
                    
                        Private
                    
                
        
                terminate
        
    
                    
                    True after TerminateReceivers has been called.
                        Private