Pull data object from the to be processed queue. This is strickly done by the object receptor and processing thread. Arguments: None Pointer to the process object
| Return Type | Function name | Arguments |
|---|---|---|
| void* | hzDiode::Pull | (void) |
Declared in file: hzLock.h
Defined in file : hzProcess.cpp
Function Logic:
Function body:
void* hzDiode::Pull (void)
{
// Pull data object from the to be processed queue. This is strickly done by the object receptor and processing thread.
//
// Arguments: None
// Returns: Pointer to the process object
_bkt* pB ; // Diode bucket pointer
void* pObj ; // Objetc
pB = m_pFirst ;
if (!pB)
return 0;
if (pB->count == pB->usage)
{
if (!pB->next)
return 0;
// For there to be a next bucket, this buckut must nessesarily be full
pB = pB->next ;
_free(m_pFirst) ;
m_pFirst = pB ;
}
pObj = pB->items[pB->count] ;
pB->count++ ;
return pObj ;
}