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

The base of each control channel. More...

Inheritance diagram for CAAbstractControlChannel:
CASyncControlChannel CAAccountingControlChannel CAReplayControlChannel

List of all members.

Public Member Functions

 CAAbstractControlChannel (UINT8 id, bool bIsEncrypted)
virtual ~CAAbstractControlChannel ()
SINT32 sendXMLMessage (const XERCES_CPP_NAMESPACE::DOMDocument *pDocMsg) const
 Call to send a XML message via this control channel.
SINT32 sendXMLMessage (const UINT8 *msgXML, UINT32 msgLen) const
 Call to send a XML message via this control channel.
UINT32 getID () const
 Returns the id of this control channel.

Protected Member Functions

virtual SINT32 proccessMessage (const UINT8 *msg, UINT32 msglen)=0
 Processes some bytes of a message we got from the communication channel.
virtual SINT32 proccessMessageComplete ()=0
 Called if a whole messages was received, which should be delivered to the final recipient.
SINT32 setDispatcher (CAControlChannelDispatcher *pDispatcher)
 Sets the Dispatcher.

Protected Attributes

CAControlChannelDispatcherm_pDispatcher
bool m_bIsEncrypted
UINT32 m_ID

Friends

class CAControlChannelDispatcher

Detailed Description

The base of each control channel.

Controls channels should be derived from CASyncControlChannel or CAASyncControlChannel


Constructor & Destructor Documentation

References m_bIsEncrypted, m_ID, and m_pDispatcher.


Member Function Documentation

Returns the id of this control channel.

Return values:
idof control channel

References m_ID.

Referenced by CAControlChannelDispatcher::registerControlChannel(), and CAReplayCtrlChannelMsgProc::~CAReplayCtrlChannelMsgProc().

virtual SINT32 CAAbstractControlChannel::proccessMessage ( const UINT8 msg,
UINT32  msglen 
) [protected, pure virtual]

Processes some bytes of a message we got from the communication channel.

We reassemble this fragments in a buffer. If all parts are received we call proccessMessagesComplete()

Implemented in CASyncControlChannel.

Referenced by CAControlChannelDispatcher::proccessMixPacket().

virtual SINT32 CAAbstractControlChannel::proccessMessageComplete ( ) [protected, pure virtual]

Called if a whole messages was received, which should be delivered to the final recipient.

Implemented in CASyncControlChannel.

SINT32 CAAbstractControlChannel::sendXMLMessage ( const XERCES_CPP_NAMESPACE::DOMDocument *  pDocMsg) const
SINT32 CAAbstractControlChannel::sendXMLMessage ( const UINT8 msgXML,
UINT32  msgLen 
) const

Call to send a XML message via this control channel.

Parameters:
msgXMLbuffer which holds the serialized XML message
msgLensize of msgXML
Return values:
E_SPACE,ifthe serialized XML message is bigger than 0xFFFF bytes
E_SUCCESS,ifthe message that successful send
E_UNKNOWN,incase of an error

References E_SPACE, CAControlChannelDispatcher::encryptMessage(), m_bIsEncrypted, m_ID, m_pDispatcher, and CAControlChannelDispatcher::sendMessages().

Sets the Dispatcher.

References E_SUCCESS, and m_pDispatcher.

Referenced by CAControlChannelDispatcher::registerControlChannel().


Friends And Related Function Documentation

friend class CAControlChannelDispatcher [friend]

Member Data Documentation