|
Mixes for Privacy and Anonymity in the Internet
|
Public Member Functions | |
| CALastMixChannelList () | |
| ~CALastMixChannelList () | |
| SINT32 | add (HCHANNEL id, CASocket *pSocket, CASymCipher *pCipher, CAQueue *pQueue) |
| lmChannelListEntry * | get (HCHANNEL channelIn) |
| lmChannelListEntry * | getFirstSocket () |
| lmChannelListEntry * | getNextSocket () |
| SINT32 | removeChannel (HCHANNEL channelIn) |
| UINT32 | getSize () |
Static Public Member Functions | |
| static SINT32 | test () |
Private Attributes | |
| UINT32 | m_nChannels |
| LP_lmChannelListEntry * | m_HashTable |
| The Hash-Table of all channels. | |
| lmChannelList * | m_listSockets |
| Pointer to the head of a list of all sockets. | |
| lmChannelList * | m_listSocketsNext |
| Next Element in the enumeration of all sockets. | |
| CAMutex | m_Mutex |
| This mutex is used in all functions and makes them thread safe. | |
References HASHTABLE_SIZE, m_HashTable, m_listSockets, m_listSocketsNext, m_nChannels, and MAX_POLLFD.
References HASHTABLE_SIZE, t_lastmixchannellist::list_Channels, m_HashTable, and t_lastmixchannellist::next.
| SINT32 CALastMixChannelList::add | ( | HCHANNEL | id, |
| CASocket * | pSocket, | ||
| CASymCipher * | pCipher, | ||
| CAQueue * | pQueue | ||
| ) |
References t_lastmixchannellist::channelIn, E_SUCCESS, HASH_MASK, t_lastmixchannellist::list_Channels, t_lastmixchannellist::list_Sockets, m_HashTable, m_listSockets, m_nChannels, MAX_POLLFD, t_lastmixchannellist::next, t_lastmixchannellist::pCipher, t_lastmixchannellist::pQueueSend, t_lastmixchannellist::prev, t_lastmixchannellist::pSocket, t_lastmixchannellist::sendmeCounterDownstream, and t_lastmixchannellist::sendmeCounterUpstream.
Referenced by CALastMixA::loop(), and test().
| lmChannelListEntry* CALastMixChannelList::get | ( | HCHANNEL | channelIn | ) |
References t_lastmixchannellist::channelIn, HASH_MASK, t_lastmixchannellist::list_Channels, m_HashTable, and t_lastmixchannellist::next.
Referenced by CALastMixA::loop().
References t_lastmixchannellist::list_Sockets, m_listSockets, m_listSocketsNext, and t_lastmixchannellist::next.
Referenced by CALastMix::clean(), CALastMixA::loop(), and test().
References t_lastmixchannellist::list_Sockets, m_listSocketsNext, and t_lastmixchannellist::next.
Referenced by CALastMix::clean(), CALastMixA::loop(), and test().
References m_nChannels.
Referenced by CALastMixA::loop().
| SINT32 CALastMixChannelList::removeChannel | ( | HCHANNEL | channelIn | ) |
References t_lastmixchannellist::channelIn, E_SUCCESS, HASH_MASK, t_lastmixchannellist::list_Channels, t_lastmixchannellist::list_Sockets, m_HashTable, m_listSockets, m_listSocketsNext, m_nChannels, t_lastmixchannellist::next, and t_lastmixchannellist::prev.
Referenced by CALastMixA::loop(), and test().
| SINT32 CALastMixChannelList::test | ( | ) | [static] |
References add(), t_lastmixchannellist::channelIn, getFirstSocket(), getNextSocket(), getRandom(), and removeChannel().
The Hash-Table of all channels.
Referenced by add(), CALastMixChannelList(), get(), removeChannel(), and ~CALastMixChannelList().
lmChannelList* CALastMixChannelList::m_listSockets [private] |
Pointer to the head of a list of all sockets.
Referenced by add(), CALastMixChannelList(), getFirstSocket(), and removeChannel().
Next Element in the enumeration of all sockets.
Referenced by CALastMixChannelList(), getFirstSocket(), getNextSocket(), and removeChannel().
CAMutex CALastMixChannelList::m_Mutex [private] |
This mutex is used in all functions and makes them thread safe.
UINT32 CALastMixChannelList::m_nChannels [private] |
Referenced by add(), CALastMixChannelList(), getSize(), and removeChannel().
1.7.6.1