Logo Search packages:      
Sourcecode: maxdb-7.5.00 version File versions

Converter_WaitQueue Class Reference

#include <Converter_WaitQueue.hpp>

List of all members.


Detailed Description

wait queue class used in the converter

Definition at line 44 of file Converter_WaitQueue.hpp.


Public Types

typedef
Kernel_TaskWaitList::WaitContext 
WaitContext
 only for convenience

Public Member Functions

 Converter_WaitQueue (const SAPDB_Int2 suspendReason)
 constructor for a converter wait queue, which is used if a task should be suspended if onw of the converter resources is not available.
void InsertTask (const tsp00_TaskId taskId, WaitContext &waitContext)
 This method is used to insert a task into the wait queue. Note that the task is not suspended by this method! It will return immediately. Note that a spinlock is used to protect the internal structure of the wait queue.
void InsertTaskAndWait (const tsp00_TaskId taskId)
 This method is used to insert a task into the wait queue and to suspend the task. The task will leave the method after it is resume by another task. Note that a spinlock is used to protect the internal structure of the wait queue.
bool IsEmpty () const
 This method is used to provide the filling state of the wait queue. Note that NO spinlock is used to protect the internal structure of the wait queue.
void ResumeAllWaitingTasks (const tsp00_TaskId taskId)
 This method is used to resume all task stored within the wait queue. Note that a spinlock is used to protect the internal structure of the wait queue.
void Wait (const tsp00_TaskId taskId) const
 This method is used to suspend the calling task. Note that the task won't be inserted into a wait queue. This has to be done before with InsertTask.

Private Attributes

const tsp00_RegionId m_RegionId
 identifier for the latch
const SAPDB_Int2 m_SuspendReason
 suspend reason
Kernel_TaskWaitList m_WaitList
 the list of waiting tasks

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

Generated by  Doxygen 1.6.0   Back to index