|
Mixe for Privacy and Anonymity in the Internet
|
#include "doxygen.h"#include "CAMuxSocket.hpp"#include "CAQueue.hpp"#include "CASymCipher.hpp"#include "CAMutex.hpp"#include "CAMsg.hpp"#include "CAControlChannelDispatcher.hpp"#include "CAThread.hpp"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... | |
Defines | |
| #define | KICKOUT_FORCED true |
| #define | MAX_KICKOUT_RETRIES 4 |
Typedefs | |
| typedef struct t_fmhashtableentry | fmHashTableEntry |
| typedef fmHashTableEntry * | LP_fmHashTableEntry |
| typedef struct t_firstmixchannellist | fmChannelList |
| typedef struct t_firstmixchannellist | fmChannelListEntry |
| typedef fmChannelListEntry * | LP_fmChannelListEntry |
Functions | |
| THREAD_RETURN | fml_loopDelayBuckets (void *param) |
| #define KICKOUT_FORCED true |
Definition at line 47 of file CAFirstMixChannelList.hpp.
Referenced by CAFirstMixA::accountTrafficDownstream(), CAFirstMixA::accountTrafficUpstream(), and CAFirstMixChannelList::forceKickout().
| #define MAX_KICKOUT_RETRIES 4 |
Definition at line 48 of file CAFirstMixChannelList.hpp.
Referenced by CAFirstMixChannelList::add().
| typedef struct t_firstmixchannellist fmChannelList |
Definition at line 168 of file CAFirstMixChannelList.hpp.
| typedef struct t_firstmixchannellist fmChannelListEntry |
Definition at line 169 of file CAFirstMixChannelList.hpp.
| typedef struct t_fmhashtableentry fmHashTableEntry |
Definition at line 127 of file CAFirstMixChannelList.hpp.
| typedef fmChannelListEntry* LP_fmChannelListEntry |
Definition at line 170 of file CAFirstMixChannelList.hpp.
| typedef fmHashTableEntry* LP_fmHashTableEntry |
Definition at line 128 of file CAFirstMixChannelList.hpp.
| THREAD_RETURN fml_loopDelayBuckets | ( | void * | param | ) |
Definition at line 1172 of file CAFirstMixChannelList.cpp.
References BEGIN_STACK, FINISH_STACK, INIT_STACK, CAMutex::lock(), CAFirstMixChannelList::m_bDelayBucketsLoopRun, CAFirstMixChannelList::m_pDelayBuckets, CAFirstMixChannelList::m_pMutexDelayChannel, CAFirstMixChannelList::m_u32DelayChannelBucketGrow, CAFirstMixChannelList::m_u32DelayChannelBucketGrowIntervall, MAX_POLLFD, msSleep(), THREAD_RETURN_SUCCESS, and CAMutex::unlock().
{
INIT_STACK;
BEGIN_STACK("CAFirstMixChannelList::fml_loopDelayBuckets");
CAFirstMixChannelList* pChannelList=(CAFirstMixChannelList*)param;
volatile UINT32** pDelayBuckets=pChannelList->m_pDelayBuckets;
while(pChannelList->m_bDelayBucketsLoopRun)
{
pChannelList->m_pMutexDelayChannel->lock();
UINT32 u32BucketGrow=pChannelList->m_u32DelayChannelBucketGrow;
UINT32 u32MaxBucket=u32BucketGrow*10;
for(UINT32 i=0;i<MAX_POLLFD;i++)
{
if(pDelayBuckets[i]!=NULL&&*(pDelayBuckets[i])<u32MaxBucket)
{
*(pDelayBuckets[i])+=u32BucketGrow;
}
}
pChannelList->m_pMutexDelayChannel->unlock();
msSleep(pChannelList->m_u32DelayChannelBucketGrowIntervall);
}
FINISH_STACK("CAFirstMixChannelList::fml_loopDelayBuckets");
THREAD_RETURN_SUCCESS;
}
1.7.6.1