Mixes for Privacy and Anonymity in the Internet
Public Member Functions | Protected Member Functions | Private Member Functions
CAFirstMixA Class Reference
Inheritance diagram for CAFirstMixA:
CAFirstMix CAMixWithReplayDB CAMix

List of all members.

Public Member Functions

virtual void shutDown ()

Protected Member Functions

SINT32 loop ()
SINT32 closeConnection (fmHashTableEntry *pHashEntry)

Private Member Functions

bool sendToUsers ()
void notifyAllUserChannels (fmHashTableEntry *pfmHashEntry, UINT16 flags)
void finishPacket (fmHashTableEntry *pfmHashEntry)
void checkUserConnections ()
SINT32 accountTrafficUpstream (fmHashTableEntry *pHashEntry)
SINT32 accountTrafficDownstream (fmHashTableEntry *pfmHashEntry)

Member Function Documentation

SINT32 CAFirstMixA::closeConnection ( fmHashTableEntry pHashEntry) [protected]
void CAFirstMixA::finishPacket ( fmHashTableEntry pfmHashEntry) [private]
SINT32 CAFirstMixA::loop ( ) [protected, virtual]
Todo:
check if thread is closed

Implements CAFirstMix.

References accountTrafficUpstream(), CASocketGroupEpoll::add(), CAQueue::add(), CAFirstMixChannelList::addChannel(), t_fmhashtableentry::bRecoverTimeout, t_MixPacket::channel, CHANNEL_CLOSE, CHANNEL_DATA, CHANNEL_DUMMY, CHANNEL_OPEN, CHANNEL_SIG_CRIME, t_firstmixchannellist::channelIn, t_firstmixchannellist::channelOut, checkUserConnections(), closeConnection(), t_fmhashtableentry::countryID, CASymCipher::crypt1(), CASymCipher::crypt2(), t_MixPacket::data, DATA_SIZE, diff64(), E_SUCCESS, E_UNKNOWN, FIRST_MIX_SIZE_OF_SYMMETRIC_KEYS, t_MixPacket::flags, CAFirstMix::fm_loopLog, CAQueue::get(), CAFirstMixChannelList::get(), getcurrentTimeMicros(), CAFirstMixChannelList::getFirst(), CASocketGroupEpoll::getFirstSignaledSocketData(), CAFirstMixChannelList::getNext(), CASocketGroupEpoll::getNextSignaledSocketData(), CALibProxytest::getOptions(), getRandom(), CAQueue::getSize(), t_fmhashtableentry::id, tUINT32withLock::inc(), CAFirstMix::incMixedPackets(), CADatabase::insert(), CASocketGroupEpoll::isSignaled(), CAThread::join(), CAMutex::lock(), CALockAble::lock(), LOG_ENCRYPTED, CAFirstMix::m_bRestart, CAFirstMix::m_bRunLog, CAFirstMix::m_nUser, CAFirstMix::m_PacketsPerCountryIN, CAFirstMix::m_PacketsPerCountryOUT, CAFirstMix::m_pChannelList, CAFirstMix::m_pmutexLogin, CAFirstMix::m_pQueueReadFromMix, CAFirstMix::m_pQueueSendToMix, CAMixWithReplayDB::m_pReplayDB, CAFirstMix::m_psocketgroupUsersRead, CAFirstMix::m_psocketgroupUsersWrite, MAX_NEXT_MIX_QUEUE_SIZE, MIXPACKET_SIZE, msSleep(), t_queue_entry::packet, t_firstmixchannellist::pCipher, t_fmhashtableentry::pControlChannelDispatcher, t_fmhashtableentry::peerIP, t_firstmixchannellist::pHead, t_fmhashtableentry::pMuxSocket, t_fmhashtableentry::pQueueSend, CAMsg::printMsg(), CAControlChannelDispatcher::proccessMixPacket(), t_fmhashtableentry::pSymCipher, CAFirstMixChannelList::pushTimeoutEntry(), CAMuxSocket::receive(), CAFirstMixChannelList::removeChannel(), RSA_SIZE, CASocketGroupEpoll::select(), sendToUsers(), set64(), CAFirstMixChannelList::setDelayParameters(), CASymCipher::setIV2(), CASymCipher::setKeys(), CAThread::setMainLoop(), setZero64(), CAThread::start(), and CAMutex::unlock().

void CAFirstMixA::notifyAllUserChannels ( fmHashTableEntry pfmHashEntry,
UINT16  flags 
) [private]
bool CAFirstMixA::sendToUsers ( ) [private]
void CAFirstMixA::shutDown ( ) [virtual]