Mixe for Privacy and Anonymity in the Internet
Classes | Macros | Typedefs | Functions
CAFirstMixChannelList.hpp File Reference
#include "doxygen.h"
#include "CAMuxSocket.hpp"
#include "CAQueue.hpp"
#include "CASymCipher.hpp"
#include "CAMutex.hpp"
#include "CAMsg.hpp"
#include "CAControlChannelDispatcher.hpp"
#include "CASymChannelCipher.hpp"
#include "CAThread.hpp"
Include dependency graph for CAFirstMixChannelList.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  t_fmhashtableentry
 
struct  t_firstmixchannellist
 
class  CAFirstMixChannelList
 Data structure that stores all information about the currently open Mix channels. More...
 

Macros

#define KICKOUT_FORCED   true
 
#define MAX_KICKOUT_RETRIES   4
 

Typedefs

typedef struct t_fmhashtableentry fmHashTableEntry
 
typedef fmHashTableEntryLP_fmHashTableEntry
 
typedef struct t_firstmixchannellist fmChannelList
 
typedef struct t_firstmixchannellist fmChannelListEntry
 
typedef fmChannelListEntryLP_fmChannelListEntry
 

Functions

THREAD_RETURN fml_loopDelayBuckets (void *param)
 

Macro Definition Documentation

◆ KICKOUT_FORCED

#define KICKOUT_FORCED   true

Definition at line 48 of file CAFirstMixChannelList.hpp.

◆ MAX_KICKOUT_RETRIES

#define MAX_KICKOUT_RETRIES   4

Definition at line 49 of file CAFirstMixChannelList.hpp.

Typedef Documentation

◆ fmChannelList

Definition at line 129 of file CAFirstMixChannelList.hpp.

◆ fmChannelListEntry

Definition at line 129 of file CAFirstMixChannelList.hpp.

◆ fmHashTableEntry

Definition at line 1 of file CAFirstMixChannelList.hpp.

◆ LP_fmChannelListEntry

Definition at line 174 of file CAFirstMixChannelList.hpp.

◆ LP_fmHashTableEntry

Definition at line 129 of file CAFirstMixChannelList.hpp.

Function Documentation

◆ fml_loopDelayBuckets()

THREAD_RETURN fml_loopDelayBuckets ( void *  param)

Definition at line 367 of file CAFirstMixChannelList.cpp.

1176  {
1177  INIT_STACK;
1178  BEGIN_STACK("CAFirstMixChannelList::fml_loopDelayBuckets");
1179 
1180  CAFirstMixChannelList* pChannelList=(CAFirstMixChannelList*)param;
1181  volatile UINT32** pDelayBuckets=pChannelList->m_pDelayBuckets;
1182  while(pChannelList->m_bDelayBucketsLoopRun)
1183  {
1184  pChannelList->m_pMutexDelayChannel->lock();
1185  UINT32 u32BucketGrow=pChannelList->m_u32DelayChannelBucketGrow;
1186  UINT32 u32MaxBucket=u32BucketGrow*10;
1187  for(UINT32 i=0;i<MAX_POLLFD;i++)
1188  {
1189  if(pDelayBuckets[i]!=NULL&&*(pDelayBuckets[i])<u32MaxBucket)
1190  {
1191  *(pDelayBuckets[i])+=u32BucketGrow;
1192  }
1193  }
1194  pChannelList->m_pMutexDelayChannel->unlock();
1196  }
1197 
1198  FINISH_STACK("CAFirstMixChannelList::fml_loopDelayBuckets");
1199 
1201  }
#define INIT_STACK
Definition: CAThread.hpp:48
#define BEGIN_STACK(methodName)
Definition: CAThread.hpp:49
#define FINISH_STACK(methodName)
Definition: CAThread.hpp:50
SINT32 msSleep(UINT32 ms)
Sleeps ms milliseconds.
Definition: CAUtil.cpp:406
#define THREAD_RETURN_SUCCESS
Definition: StdAfx.h:542
#define MAX_POLLFD
Definition: StdAfx.h:192
unsigned int UINT32
Definition: basetypedefs.h:131
Data structure that stores all information about the currently open Mix channels.
volatile UINT32 ** m_pDelayBuckets
volatile UINT32 m_u32DelayChannelBucketGrowIntervall
volatile UINT32 m_u32DelayChannelBucketGrow
SINT32 unlock()
Definition: CAMutex.hpp:52
SINT32 lock()
Definition: CAMutex.hpp:41