User Manual, Developers Guide and API Documentation

wimac::RANG Class Reference

RANG Radio Access Network Gateway. More...

#include <RANG.hpp>

Inheritance diagram for wimac::RANG:

Inheritance graph
[legend]
Collaboration diagram for wimac::RANG:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual
wns::service::dll::UnicastAddress 
getMACAddress () const
 RANG (wns::node::Interface *, const wns::pyconfig::View &)
wns::service::dll::Handler Interface


wns::service::dll::UnicastDataTransmissiongetAccessPointFor (wns::service::dll::UnicastAddress _sourceMACAddress)
bool knowsAddress (wns::service::dll::UnicastAddress _sourceMACAddress)
 Modified Handler Interface for APs.
void onData (const wns::SmartPtr< wns::osi::PDU > &_data, wns::service::dll::UnicastAddress _sourceMACAddress, wns::service::dll::UnicastDataTransmission *_ap, wns::service::dll::FlowID _dllFlowID=wns::service::dll::NoFlowID)
virtual void onData (const wns::SmartPtr< wns::osi::PDU > &_data, wns::service::dll::FlowID _dllFlowID=wns::service::dll::NoFlowID)
 standard onData method
void removeAddress (wns::service::dll::UnicastAddress _sourceMACAddress, wns::service::dll::UnicastDataTransmission *_ap)
void updateAPLookUp (wns::service::dll::UnicastAddress _sourceMACAddress, wns::service::dll::UnicastDataTransmission *_ap)
wns::node::component::Component Interface


virtual void onNodeCreated ()
 Called by the parent node after all components of the parent node have been created.
virtual void onShutdown ()
 Called by the parent node after simulation end event occured.
virtual void onWorldCreated ()
 Called by the parent node after all nodes have been setup and all components have executed onNodeCreated().
virtual void registerFlowHandler (wns::service::dll::FlowHandler *)
virtual void registerIRuleControl (wns::service::dll::IRuleControl *)
wns::service::dll::Notification service


virtual void registerHandler (wns::service::dll::protocolNumber protocol, wns::service::dll::Handler *_dh)
wns::service::dll::DataTransmission service


virtual void sendData (const wns::service::dll::UnicastAddress &_peer, const wns::SmartPtr< wns::osi::PDU > &_data, wns::service::dll::protocolNumber protocol, wns::service::dll::FlowID _dllFlowID=wns::service::dll::NoFlowID)

Protected Member Functions

virtual void doStartup ()
 Virtual backend of startup().

Private Types

typedef
wns::container::Registry
< wns::service::dll::UnicastAddress,
wns::service::dll::UnicastDataTransmission * > 
AccessPointLookup
typedef
wns::container::Registry
< wns::service::dll::protocolNumber,
wns::service::dll::Handler * > 
DataHandlerRegistry
 Needed for demultiplexing of upper layer protocols.

Private Attributes

AccessPointLookup accessPointLookup
wns::pyconfig::View config
DataHandlerRegistry dataHandlerRegistry
 Registry for datahandlers. Each datahandler is select by the protocol number.
wns::logger::Logger logger


Detailed Description

This is the gateway to the core network for all APs. The RANG is connected to the Network Layer (IP) of the server. The APs don't have an IP component, they terminate with the Layer2. So, the communication between the server and an AP goes via the RANG. The RANG has the funtion of a router, i.e. it forwards outgoing packets to the correct AP's DLL. From the Viewpoint of the server's NL, it behaves like a DLL itself

Definition at line 49 of file RANG.hpp.


Member Typedef Documentation

Definition at line 56 of file RANG.hpp.

Definition at line 143 of file RANG.hpp.


Constructor & Destructor Documentation

wimac::RANG::RANG ( wns::node::Interface ,
const wns::pyconfig::View  
)


Member Function Documentation

virtual void wimac::RANG::doStartup (  )  [protected, virtual]

wns::service::dll::UnicastDataTransmission* wimac::RANG::getAccessPointFor ( wns::service::dll::UnicastAddress  _sourceMACAddress  ) 

virtual wns::service::dll::UnicastAddress wimac::RANG::getMACAddress (  )  const [inline, virtual]

bool wimac::RANG::knowsAddress ( wns::service::dll::UnicastAddress  _sourceMACAddress  ) 

Modified Handler Interface for APs. It gets two parameters in addition to the PDUPtr to keep the RANG's routing table up to date.

void wimac::RANG::onData ( const wns::SmartPtr< wns::osi::PDU > &  _data,
wns::service::dll::UnicastAddress  _sourceMACAddress,
wns::service::dll::UnicastDataTransmission _ap,
wns::service::dll::FlowID  _dllFlowID = wns::service::dll::NoFlowID 
)

virtual void wimac::RANG::onData ( const wns::SmartPtr< wns::osi::PDU > &  _data,
wns::service::dll::FlowID  _dllFlowID = wns::service::dll::NoFlowID 
) [virtual]

virtual void wimac::RANG::onNodeCreated (  )  [virtual]

Note:
Intra-Node dependencies like connecting components within the node to each other must be handled here. It is forbidden to try to resolve dependencies to other nodes here. Not all nodes have been setup yet.

Implements wns::node::component::Interface.

virtual void wimac::RANG::onShutdown (  )  [virtual]

virtual void wimac::RANG::onWorldCreated (  )  [virtual]

Note:
Resolve Inter-Node dependencies here. There are no restrictions on what you do here.

Implements wns::node::component::Interface.

virtual void wimac::RANG::registerFlowHandler ( wns::service::dll::FlowHandler  )  [inline, virtual]

Implements wns::service::dll::Notification.

Definition at line 128 of file RANG.hpp.

virtual void wimac::RANG::registerHandler ( wns::service::dll::protocolNumber  protocol,
wns::service::dll::Handler _dh 
) [virtual]

virtual void wimac::RANG::registerIRuleControl ( wns::service::dll::IRuleControl  )  [inline, virtual]

Implements wns::service::dll::Notification.

Definition at line 129 of file RANG.hpp.

void wimac::RANG::removeAddress ( wns::service::dll::UnicastAddress  _sourceMACAddress,
wns::service::dll::UnicastDataTransmission _ap 
)

virtual void wimac::RANG::sendData ( const wns::service::dll::UnicastAddress _peer,
const wns::SmartPtr< wns::osi::PDU > &  _data,
wns::service::dll::protocolNumber  protocol,
wns::service::dll::FlowID  _dllFlowID = wns::service::dll::NoFlowID 
) [virtual]

void wimac::RANG::updateAPLookUp ( wns::service::dll::UnicastAddress  _sourceMACAddress,
wns::service::dll::UnicastDataTransmission _ap 
)


Member Data Documentation

Definition at line 138 of file RANG.hpp.

Definition at line 137 of file RANG.hpp.

Definition at line 149 of file RANG.hpp.

Definition at line 151 of file RANG.hpp.


The documentation for this class was generated from the following file:

Generated on Sat May 26 03:32:45 2012 for openWNS by  doxygen 1.5.5