Mixes for Privacy and Anonymity in the Internet
Public Member Functions | Protected Member Functions | Protected Attributes
CASocketList Class Reference

List of all members.

Public Member Functions

 CASocketList ()
 CASocketList (bool bThreadSafe)
 ~CASocketList ()
SINT32 add (CASocket *pSocket, CASymCipher *pCiphers)
 Add a new channel to the channel-list.
SINT32 get (HCHANNEL in, CONNECTION *out)
 Gets a copy of an entry form the channel-list.
CASocketremove (HCHANNEL id)
SINT32 clear ()
CONNECTIONgetFirst ()
 Gets the first entry of the channel-list.
CONNECTIONgetNext ()
 Gets the next entry of the channel-list.
UINT32 getSize ()
SINT32 setThreadSafe (bool b)
SINT32 addSendMeCounter (HCHANNEL in, SINT32 value)

Protected Member Functions

SINT32 increasePool ()

Protected Attributes

CONNECTIONLISTm_Connections
CONNECTIONLISTm_Pool
CONNECTIONLISTm_AktEnumPos
t_MEMBLOCKm_Memlist
CAMutex cs
bool m_bThreadSafe
UINT32 m_Size

Constructor & Destructor Documentation

CASocketList::CASocketList ( bool  bThreadSafe)

References clear().


Member Function Documentation

SINT32 CASocketList::add ( CASocket pSocket,
CASymCipher pCiphers 
)

Add a new channel to the channel-list.

The id for that channel is randomly choosen.

Parameters:
pSocketa CASocket assoziated with the channel
pCiphersan array of CASymCipher assoziated with the channel
Returns:
E_SUCCESS if no error occurs E_UNKNOWN otherwise

References cs, connlist::currentSendMeCounter, E_SUCCESS, E_UNKNOWN, getRandom(), increasePool(), CAMutex::lock(), m_bThreadSafe, m_Connections, m_Pool, m_Size, connlist::next, connlist::outChannel, connlist::pCiphers, connlist::pSocket, CAMutex::unlock(), and connlist::upstreamBytes.

Referenced by CALocalProxy::loop().

Gets a copy of an entry form the channel-list.

Parameters:
in- the channel-id for wich the entry is requested
out- the object, that will hold the copy
Returns:
true - if the channel was found false - otherwise

References cs, E_SUCCESS, E_UNKNOWN, CAMutex::lock(), m_bThreadSafe, m_Connections, connlist::next, connlist::outChannel, and CAMutex::unlock().

Referenced by CALocalProxy::loop().

Gets the first entry of the channel-list.

Returns:
the first entry of the channel list (this is not a copy!!)

References m_AktEnumPos, and m_Connections.

Referenced by CALocalProxy::loop().

Gets the next entry of the channel-list.

Returns:
the next entry of the channel list (this is not a copy!!)

References m_AktEnumPos, and connlist::next.

Referenced by CALocalProxy::loop().

References m_Size.

References E_SUCCESS, and m_bThreadSafe.

Referenced by CASocketList().


Member Data Documentation

Referenced by add(), addSendMeCounter(), get(), and remove().

bool CASocketList::m_bThreadSafe [protected]

Referenced by CASocketList(), clear(), and increasePool().

Referenced by add(), CASocketList(), getSize(), and remove().