|
Mixe for Privacy and Anonymity in the Internet
|
Data structure that stores all information about the currently open Mix channels. More...
#include <CAMiddleMixChannelList.hpp>
Public Member Functions | |
| CAMiddleMixChannelList () | |
| ~CAMiddleMixChannelList () | |
| SINT32 | add (HCHANNEL channelIn, CASymChannelCipher *pCipher, HCHANNEL *channelOut) |
| Adds a new Channel to the Channellist. More... | |
| SINT32 | getInToOut (HCHANNEL channelIn, HCHANNEL *channelOut, CASymChannelCipher **ppCipher) |
| SINT32 | remove (HCHANNEL channelIn) |
| Removes a channel form the channellist. More... | |
| SINT32 | getOutToIn (HCHANNEL *channelIn, HCHANNEL channelOut, CASymChannelCipher **ppCipher) |
Static Public Member Functions | |
| static SINT32 | test () |
Private Member Functions | |
| SINT32 | getOutToIn_intern_without_lock (HCHANNEL *channelIn, HCHANNEL channelOut, CASymChannelCipher **ppCipher) |
Private Attributes | |
| LP_mmHashTableEntry * | m_pHashTableIn |
| LP_mmHashTableEntry * | m_pHashTableOut |
| CAMutex | m_Mutex |
Data structure that stores all information about the currently open Mix channels.
See [MiddleMixChannelList] for more information.
Definition at line 101 of file CAMiddleMixChannelList.hpp.
|
inline |
Definition at line 104 of file CAMiddleMixChannelList.hpp.
References m_pHashTableIn, and m_pHashTableOut.
| CAMiddleMixChannelList::~CAMiddleMixChannelList | ( | ) |
Definition at line 7 of file CAMiddleMixChannelList.cpp.
References t_middlemixchannellist::list_HashTableIn, CAMutex::lock(), m_Mutex, m_pHashTableIn, m_pHashTableOut, t_middlemixchannellist::dl_in::next, t_middlemixchannellist::pCipher, and CAMutex::unlock().
| SINT32 CAMiddleMixChannelList::add | ( | HCHANNEL | channelIn, |
| CASymChannelCipher * | pCipher, | ||
| HCHANNEL * | channelOut | ||
| ) |
Adds a new Channel to the Channellist.
| channelIn | incoming Channel-ID |
| pCipher | Cipher for recoding |
| channelOut | on return holds a newly created random outgoing Channel-ID |
| E_SUCCESS | if Channel was successfully added to the list |
Definition at line 38 of file CAMiddleMixChannelList.cpp.
References t_middlemixchannellist::channelIn, t_middlemixchannellist::channelOut, E_SUCCESS, getOutToIn_intern_without_lock(), getRandom(), t_middlemixchannellist::list_HashTableIn, t_middlemixchannellist::list_HashTableOut, CAMutex::lock(), m_Mutex, m_pHashTableIn, m_pHashTableOut, t_middlemixchannellist::dl_in::next, t_middlemixchannellist::dl_out::next, t_middlemixchannellist::pCipher, t_middlemixchannellist::dl_in::prev, t_middlemixchannellist::dl_out::prev, and CAMutex::unlock().
Referenced by test().
| SINT32 CAMiddleMixChannelList::getInToOut | ( | HCHANNEL | channelIn, |
| HCHANNEL * | channelOut, | ||
| CASymChannelCipher ** | ppCipher | ||
| ) |
Definition at line 68 of file CAMiddleMixChannelList.cpp.
References t_middlemixchannellist::channelIn, t_middlemixchannellist::channelOut, E_SUCCESS, E_UNKNOWN, t_middlemixchannellist::list_HashTableIn, CALockAble::lock(), CAMutex::lock(), m_Mutex, m_pHashTableIn, t_middlemixchannellist::dl_in::next, t_middlemixchannellist::pCipher, and CAMutex::unlock().
|
inline |
Definition at line 141 of file CAMiddleMixChannelList.hpp.
References getOutToIn_intern_without_lock(), CAMutex::lock(), m_Mutex, and CAMutex::unlock().
|
inlineprivate |
Definition at line 120 of file CAMiddleMixChannelList.hpp.
References t_middlemixchannellist::channelIn, t_middlemixchannellist::channelOut, E_SUCCESS, E_UNKNOWN, t_middlemixchannellist::list_HashTableOut, CALockAble::lock(), m_pHashTableOut, t_middlemixchannellist::dl_out::next, and t_middlemixchannellist::pCipher.
Referenced by add(), and getOutToIn().
Removes a channel form the channellist.
| channelIn | incoming Channel-ID of the channel which should be removed |
| E_SUCCESS | if channel was successfully removed from the list |
| E_UNKNOWN | otherwise |
Definition at line 97 of file CAMiddleMixChannelList.cpp.
References t_middlemixchannellist::channelIn, t_middlemixchannellist::channelOut, E_SUCCESS, E_UNKNOWN, t_middlemixchannellist::list_HashTableIn, t_middlemixchannellist::list_HashTableOut, CAMutex::lock(), m_Mutex, m_pHashTableIn, m_pHashTableOut, t_middlemixchannellist::dl_in::next, t_middlemixchannellist::dl_out::next, t_middlemixchannellist::pCipher, t_middlemixchannellist::dl_in::prev, t_middlemixchannellist::dl_out::prev, and CAMutex::unlock().
Referenced by test().
|
static |
Definition at line 166 of file CAMiddleMixChannelList.cpp.
References add(), getRandom(), and remove().
|
private |
Definition at line 152 of file CAMiddleMixChannelList.hpp.
Referenced by add(), getInToOut(), getOutToIn(), remove(), and ~CAMiddleMixChannelList().
|
private |
Definition at line 150 of file CAMiddleMixChannelList.hpp.
Referenced by add(), CAMiddleMixChannelList(), getInToOut(), remove(), and ~CAMiddleMixChannelList().
|
private |
Definition at line 151 of file CAMiddleMixChannelList.hpp.
Referenced by add(), CAMiddleMixChannelList(), getOutToIn_intern_without_lock(), remove(), and ~CAMiddleMixChannelList().