User Manual, Developers Guide and API Documentation

dll::RANG Class Reference

RANG Radio Access Network Gateway. More...

#include <RANG.hpp>

Inheritance diagram for dll::RANG:

Inheritance graph
[legend]
Collaboration diagram for dll::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 &)
virtual void registerFlowHandler (wns::service::dll::FlowHandler *)
virtual void registerIRuleControl (wns::service::dll::IRuleControl *)
virtual ~RANG ()
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.
virtual void onData (const wns::osi::PDUPtr &_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::osi::PDUPtr &_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().
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::osi::PDUPtr &_data, wns::service::dll::protocolNumber protocol, wns::service::dll::FlowID _dllFlowID=wns::service::dll::NoFlowID)
 Deliver data to other peer component(s).

Protected Member Functions

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

Protected Attributes

AccessPointLookup accessPointLookup

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

wns::pyconfig::View config
DataHandlerRegistry dataHandlerRegistry
 Registry for datahandlers. Each datahandler is select by the protocol number.
bool learnAPfromIncomingData
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 38 of file RANG.hpp.


Member Typedef Documentation

Definition at line 44 of file RANG.hpp.

Definition at line 121 of file RANG.hpp.


Constructor & Destructor Documentation

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

Reimplemented in lte::main::RANG.

Definition at line 30 of file RANG.cpp.

virtual dll::RANG::~RANG (  )  [inline, virtual]

Reimplemented in lte::main::RANG.

Definition at line 47 of file RANG.hpp.


Member Function Documentation

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

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

Definition at line 40 of file RANG.cpp.

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

Definition at line 148 of file RANG.cpp.

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

bool 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.

Definition at line 142 of file RANG.cpp.

void RANG::onData ( const wns::osi::PDUPtr _data,
wns::service::dll::UnicastAddress  _sourceMACAddress,
wns::service::dll::UnicastDataTransmission _ap,
wns::service::dll::FlowID  _dllFlowID = wns::service::dll::NoFlowID 
) [virtual]

Definition at line 55 of file RANG.cpp.

void RANG::onData ( const wns::osi::PDUPtr _data,
wns::service::dll::FlowID  _dllFlowID = wns::service::dll::NoFlowID 
) [virtual]

Implements wns::service::dll::Handler.

Definition at line 47 of file RANG.cpp.

void 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.

Definition at line 108 of file RANG.cpp.

void RANG::onShutdown (  )  [virtual]

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

Definition at line 194 of file RANG.cpp.

void RANG::onWorldCreated (  )  [virtual]

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

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

Definition at line 114 of file RANG.cpp.

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

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

Definition at line 50 of file RANG.hpp.

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

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

Definition at line 100 of file RANG.cpp.

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

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

Reimplemented in lte::main::RANG.

Definition at line 53 of file RANG.hpp.

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

Definition at line 171 of file RANG.cpp.

void RANG::sendData ( const wns::service::dll::UnicastAddress macAddress,
const wns::osi::PDUPtr data,
wns::service::dll::protocolNumber  protocol,
wns::service::dll::FlowID  _dllFlowID = wns::service::dll::NoFlowID 
) [virtual]

Parameters:
[in] macAddress Destination component(s) where data is to be delivered.
[in] data Protocol Data Unit that is to be transported.

Implements wns::service::dll::DataTransmission< wns::service::dll::UnicastAddress >.

Reimplemented in lte::main::RANG.

Definition at line 74 of file RANG.cpp.

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

Definition at line 156 of file RANG.cpp.


Member Data Documentation

Definition at line 115 of file RANG.hpp.

Reimplemented in lte::main::RANG.

Definition at line 129 of file RANG.hpp.

Definition at line 127 of file RANG.hpp.

Definition at line 131 of file RANG.hpp.

Reimplemented in lte::main::RANG.

Definition at line 133 of file RANG.hpp.


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

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