Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

EapSwitchStateMachine Class Reference

The base class for switch state machines. More...

#include <eap_fsm.hxx>

Inheritance diagram for EapSwitchStateMachine:

EapJobMultiplexor EapAuthSwitchStateMachine EapPeerSwitchStateMachine EapBackendAuthSwitchStateMachine EapPassThroughAuthSwitchStateMachine EapStandAloneAuthSwitchStateMachine List of all members.

Public Member Functions

virtual void Notify (AAA_Event ev)=0
 Called by any switch or method state machine.

virtual void Send (AAAMessageBlock *b)=0
virtual void Abort ()=0
EapTypeCurrentMethod ()
 Call this function to get the current method.

virtual void Receive (AAAMessageBlock *)=0
 This function is called by EAP carrier protocol to input EAP message.

virtual void ReceiveFromAAA (AAAMessageBlock *msg) throw (int)
ACE_Byte & CurrentIdentifier ()
 Call this function to get the currentIdentifier.

AAAMessageBlock * GetRxMessage ()
void SetRxMessage (AAAMessageBlock *p)
void DeleteRxMessage ()
AAAMessageBlock * GetTxMessage ()
void SetTxMessage (AAAMessageBlock *p)
void DeleteTxMessage ()
std::string & PeerIdentity ()
 Call this function to get the pointer to the identity of the EAP peer.

std::string & AuthenticatorIdentity ()
bool & KeyAvailable ()
 Call this function to check the availability of the key.

std::string & KeyData ()
 Call this function to retrieve the key.

bool IsEapTunneled ()
 Call this function to check whether this is a tunneled session.

EapPolicyPolicy (void)
 Call this function to get the pointer to policy.

void CreateMethodStateMachine (EapType t, EapRole role)
void DeleteMethodStateMachine ()
EapMethodStateMachineMethodStateMachine ()
 Call this function to get the pointer to method state machine.

EapMessageQueue & RxQueue ()
 Call this function to get the reference to receiving message queue.

int & DiscardCount ()
 Use this function to obtain the reference to discardCount.

ACE_Reactor & Reactor ()

Protected Member Functions

 EapSwitchStateMachine (ACE_Reactor &r, EapJobHandle &h)

Protected Attributes

EapType currentMethod
 This indicates the currently processed EAP Type.

AAAMessageBlock * txMessage
AAAMessageBlock * rxMessage
EapMessageQueue rxQueue
 This is used for queueing incoming EAP messages to process.

ACE_Byte currentIdentifier
std::string peerIdentity
std::string authenticatorIdentity
bool eapTunneled
EapPolicy policy
 This is the policy used for the session.

EapMethodStateMachinemethodStateMachine
 This stores the pointer to a method state machine.

int discardCount
 This variable is incremented when a received message is discarded.

bool keyAvailable
 This variable indicates whether the key is available or not.

std::string keyData
 This variable stores the key.

ACE_Reactor & reactor

Detailed Description

The base class for switch state machines.


Member Function Documentation

virtual void EapSwitchStateMachine::Abort  )  [pure virtual]
 

This callback function is called when there is an internal error in a state machine. The default action is to exit the program. Applications can replace the default behavior with more appropriate behavior such as deleting the errornous session.

std::string& EapSwitchStateMachine::AuthenticatorIdentity  )  [inline]
 

Call this function to get the pointer to the identity of the EAP authenticator.

void EapSwitchStateMachine::CreateMethodStateMachine EapType  t,
EapRole  role
 

Call this function to create a method state mechine in the session.

void EapSwitchStateMachine::DeleteMethodStateMachine  ) 
 

Call this function to delete the method state mechine in the session.

void EapSwitchStateMachine::DeleteRxMessage  )  [inline]
 

Call this function to delete rxMessage. This function is typically called by methods.

void EapSwitchStateMachine::DeleteTxMessage  )  [inline]
 

Call this function to delete txMessage. This function is typically called by methods.

AAAMessageBlock* EapSwitchStateMachine::GetRxMessage  )  [inline]
 

Call this function to get the pointer of rxMessage. This function is typically called by switches.

AAAMessageBlock* EapSwitchStateMachine::GetTxMessage  )  [inline]
 

Call this function to get the pointer to txMessage. This function is typically called by switches.

virtual void EapSwitchStateMachine::ReceiveFromAAA AAAMessageBlock *  msg  )  throw (int) [inline, virtual]
 

This function is called by AAA protocol on passthrough authenticator to input EAP message.

virtual void EapSwitchStateMachine::Send AAAMessageBlock *  b  )  [pure virtual]
 

This callback function is called when a message other than Success/Failure is sent from the session. If further processing for the message is performed in other threads, the application must make a duplication of the message via AAAMessageBlock::Acquire(AAAMessageBlock*) so that the API will not release the message allocation until reference count becomes 0.

void EapSwitchStateMachine::SetRxMessage AAAMessageBlock *  p  )  [inline]
 

Call this function to set the pointer to rxMessage. This function is typically called by methods.

void EapSwitchStateMachine::SetTxMessage AAAMessageBlock *  p  )  [inline]
 

Call this function to set the pointer to txMessage. This function is typically called by methods.


Member Data Documentation

std::string EapSwitchStateMachine::authenticatorIdentity [protected]
 

This stores the Identity payload of the EAP authenticator. The string may or may not be null-terminated. When the string is null-terminated, the terminating null charactor must not be included in the Identity payload.

ACE_Byte EapSwitchStateMachine::currentIdentifier [protected]
 

This variable indicates the Identifier of the last valid Request (for Peer) or the outstanding Request (for Authenticator).

bool EapSwitchStateMachine::eapTunneled [protected]
 

This variable is set true if this session is created within another session.

std::string EapSwitchStateMachine::peerIdentity [protected]
 

This stores the Identity payload (e.g., username) of the EAP peer. The string may or may not be null-terminated. When the string is null-terminated, the terminating null charactor must not be included in the Identity payload.

AAAMessageBlock* EapSwitchStateMachine::rxMessage [protected]
 

This is used for passing an incoming EAP message from the switch to methods.

AAAMessageBlock* EapSwitchStateMachine::txMessage [protected]
 

This is used for passing an outgoing EAP message from methods to the switch. For peers, txMessage is equivalent to eapRespData and lastRespData. For authenticators, txMessage is equivalent to eapReqData and lastReqData.


The documentation for this class was generated from the following file:
Generated on Fri Jun 25 19:16:19 2004 for EAP State Machine by doxygen 1.3.5