Kaim::QueryQueue Class Reference
#include <queryqueue.h>
QueryQueue processes queries in an asynchronous, time-sliced way, within a QueryQueueArray.
Each QueryQueue has its own WorkingMemory, time budget...
Inherits Kaim::RefCountBase< C, Stat >.
void Kaim::QueryQueue::Cancel |
( |
IQuery * |
query | ) |
|
Must be called from the main thread.
- Precondition
- The query should have been pushed in this queue and not flushed yet.
void Kaim::QueryQueue::FlushCommands |
( |
| ) |
|
void Kaim::QueryQueue::FlushQueries |
( |
| ) |
|
KyUInt32 Kaim::QueryQueue::GetPendingOperationCount |
( |
| ) |
const |
|
inline |
GetCommandCount() + GetQueryCount()
Previous value of GetMsSpentInProcess(). Call this for statitics on the time spent in Process().
void Kaim::QueryQueue::Process |
( |
| ) |
|
Process the Queries in the QueryQueue until the budget is spent.
The process can be called in a worker thread as long as Process() and World::Update are mutally exclusive.
void Kaim::QueryQueue::PushBack |
( |
IQuery * |
query | ) |
|
Must be called from the main thread.
- Precondition
- The query must be initialized and should not be already present in a QueryQueue.
KyUInt32 Kaim::QueryQueue::m_firstQueryToProcessIndex |
|
protected |
Current index of query to Process. Usefull for successive call to Process. For Internal Use.
KyFloat32 Kaim::QueryQueue::m_msProcessBudget |
|
protected |
The time in milliseconds this queue is allowed to use in a call to Process().
KyFloat32 Kaim::QueryQueue::m_msSpentInProcess |
|
protected |
String Kaim::QueryQueue::m_name |
|
protected |
CircularArray<Ptr<IQuery>, MemStat_QuerySystem > Kaim::QueryQueue::m_queries |
|
protected |
Queries to process, this includes queries that have been canceled.
Remember statistics of this QueryQueue. For Visual Debug.
WorkingMemory Kaim::QueryQueue::m_workingMemory |
|
protected |
Sandbox memory used to perform queries; allocates less memory, and in a thread-local manner.
The documentation for this class was generated from the following file: