Mixe for Privacy and Anonymity in the Internet
Classes | Defines | Functions
CAQueue.cpp File Reference
#include "StdAfx.h"
#include "CAQueue.hpp"
#include "CAMsg.hpp"
#include "CAUtil.hpp"
#include "CAThread.hpp"
Include dependency graph for CAQueue.cpp:

Go to the source code of this file.

Classes

struct  __queue_test

Defines

#define TEST_SIZE   1000000

Functions

THREAD_RETURN producer (void *param)
THREAD_RETURN consumer (void *param)

Define Documentation

#define TEST_SIZE   1000000

Referenced by CAQueue::test().


Function Documentation

THREAD_RETURN consumer ( void *  param)

Definition at line 363 of file CAQueue.cpp.

References __queue_test::buff, E_SUCCESS, CAQueue::getOrWait(), __queue_test::len, __queue_test::pQueue, THREAD_RETURN_ERROR, and THREAD_RETURN_SUCCESS.

Referenced by CAQueue::test().

  {
    struct __queue_test* pTest=(struct __queue_test *)param;
    UINT32 count=0;
    UINT32 aktSize;
    do
      {
        aktSize=rand();
        aktSize%=0xFFFF;
        if(pTest->pQueue->getOrWait(pTest->buff+count,&aktSize)!=E_SUCCESS)
          THREAD_RETURN_ERROR;
        count+=aktSize;
        pTest->len-=aktSize;
      }while(pTest->len>10);
    THREAD_RETURN_SUCCESS;
  }

Here is the call graph for this function:

THREAD_RETURN producer ( void *  param)

Definition at line 342 of file CAQueue.cpp.

References CAQueue::add(), __queue_test::buff, E_SUCCESS, __queue_test::len, msSleep(), __queue_test::pQueue, THREAD_RETURN_ERROR, and THREAD_RETURN_SUCCESS.

Referenced by CAQueue::test().

  {
    struct __queue_test* pTest=(struct __queue_test *)param;
    UINT32 count=0;
    UINT32 aktSize;
    while(pTest->len>10)
        {
          aktSize=rand();
          aktSize%=0xFFFF;
          aktSize%=pTest->len;
          if(pTest->pQueue->add(pTest->buff+count,aktSize)!=E_SUCCESS)
            THREAD_RETURN_ERROR;
          count+=aktSize;
          pTest->len-=aktSize;
          msSleep(rand()%100);
        }
    if(pTest->pQueue->add(pTest->buff+count,pTest->len)!=E_SUCCESS)
      THREAD_RETURN_ERROR;
    THREAD_RETURN_SUCCESS;
  }

Here is the call graph for this function: