Пример #1
0
/*-----------------------------------------------------------------------------
    Name        : InitQueue
    Description : Initializes the Queue
    Inputs      :
    Outputs     :
    Return      :
----------------------------------------------------------------------------*/
void InitQueue(Queue *queue,udword buffersize)
{
    queue->mutex = SDL_CreateMutex();
    dbgAssertOrIgnore(queue->mutex != NULL);
    queue->buffer = memAlloc(buffersize,"qbuffer",NonVolatile);
    queue->buffersize = buffersize;
    ResetQueue(queue);
}
Пример #2
0
/* Have an empty queue with designated number of elements
 * with designated size of each element. */
int CreateQueue(RX_QUEUE *__q, void *__pb, uint16_t __len, uint8_t __esize) {
	ResetQueue(__q);
	__q->rLen = __len;
	__q->eSize = __esize;
	__q->buf = __pb;

	return 1;
}
Пример #3
0
Queue *CreateQueue(int nbuckets, int nelems)
{
  Queue *Q=NULL;

  Q = (Queue *) malloc(1*sizeof(Queue));
  
  if (Q != NULL) {
    Q->C.first = (int *)malloc(nbuckets * sizeof(int));
    Q->C.last  = (int *)malloc(nbuckets * sizeof(int));
    Q->C.nbuckets = nbuckets;
    if ( (Q->C.first != NULL) && (Q->C.last != NULL) ){
      Q->L.elem = (Node *)malloc(nelems*sizeof(Node));
      Q->L.nelems = nelems;
      if (Q->L.elem != NULL){
	ResetQueue(Q);
      } else
	Error(MSG1,"CreateQueue");	
    } else
      Error(MSG1,"CreateQueue");
  } else 
    Error(MSG1,"CreateQueue");
  
  return(Q);
}
Пример #4
0
FilterWithBufferedInput::BlockQueue::BlockQueue(unsigned int blockSize, unsigned int maxBlocks)
	: m_buffer(blockSize * maxBlocks)
{
	ResetQueue(blockSize, maxBlocks);
}