ns-3
ns3::WimaxHelper Class Reference

helps to manage and create WimaxNetDevice objects More...

#include <wimax-helper.h>

Inheritance diagram for ns3::WimaxHelper:
Collaboration diagram for ns3::WimaxHelper:

List of all members.

Public Types

enum  NetDeviceType { DEVICE_TYPE_SUBSCRIBER_STATION, DEVICE_TYPE_BASE_STATION }
enum  PhyType { SIMPLE_PHY_TYPE_OFDM }
enum  SchedulerType { SCHED_TYPE_SIMPLE, SCHED_TYPE_RTPS, SCHED_TYPE_MBQOS }

Public Member Functions

 WimaxHelper (void)
 Create a Wimax helper in an empty state.
Ptr< WimaxPhyCreatePhy (PhyType phyType)
Ptr< UplinkSchedulerCreateUplinkScheduler (SchedulerType schedulerType)
Ptr< BSSchedulerCreateBSScheduler (SchedulerType schedulerType)
NetDeviceContainer Install (NodeContainer c, NetDeviceType type, PhyType phyType, SchedulerType schedulerType)
NetDeviceContainer Install (NodeContainer c, NetDeviceType deviceType, PhyType phyType, Ptr< WimaxChannel > channel, SchedulerType schedulerType)
NetDeviceContainer Install (NodeContainer c, NetDeviceType deviceType, PhyType phyType, SchedulerType schedulerType, double frameDuration)
void SetPropagationLossModel (SimpleOfdmWimaxChannel::PropModel propagationModel)
 Set the propagation and loss model of the channel. By default the channel uses a COST231 propagation and loss model.
Ptr< WimaxPhyCreatePhyWithoutChannel (PhyType phyType)
Ptr< WimaxPhyCreatePhyWithoutChannel (PhyType phyType, char *SNRTraceFilePath, bool activateLoss)
Ptr< WimaxPhyCreatePhy (PhyType phyType, char *SNRTraceFilePath, bool activateLoss)
Ptr< WimaxNetDeviceInstall (Ptr< Node > node, NetDeviceType deviceType, PhyType phyType, Ptr< WimaxChannel > channel, SchedulerType schedulerType)
ServiceFlow CreateServiceFlow (ServiceFlow::Direction direction, ServiceFlow::SchedulingType schedulinType, IpcsClassifierRecord classifier)
 Creates a transport service flow.

Static Public Member Functions

static void EnableAsciiForConnection (Ptr< OutputStreamWrapper > oss, uint32_t nodeid, uint32_t deviceid, char *netdevice, char *connection)
 Enable ascii trace output on the indicated net device for a given connection.
static void EnableLogComponents (void)

Detailed Description

helps to manage and create WimaxNetDevice objects

This class can help to create a large set of similar WimaxNetDevice objects and to configure their attributes during creation.


Member Enumeration Documentation

Net Device Type Distinguish a subscriber station(SS) device from base station(BS) device

Enumerator:
DEVICE_TYPE_SUBSCRIBER_STATION 

Subscriber station(SS) device

DEVICE_TYPE_BASE_STATION 

Base station(BS) device

WiMAX Physical layer WiMAX Physical layers with different levels of detail

Scheduler Type Different implementations of uplink/downlink scheduler

Enumerator:
SCHED_TYPE_SIMPLE 

A simple priority-based FCFS scheduler

SCHED_TYPE_RTPS 

A simple scheduler - rtPS based scheduler

SCHED_TYPE_MBQOS 

An migration-based uplink scheduler


Member Function Documentation

Parameters:
schedulerTypeScheduling mechanism
Returns:
Downlink scheduler

Creates a downlink scheduler to be used by base station according to selected scheduling mechanism.

References NS_FATAL_ERROR, SCHED_TYPE_MBQOS, SCHED_TYPE_RTPS, and SCHED_TYPE_SIMPLE.

Referenced by Install().

Parameters:
phyTypeWiMAX Physical layer type
Returns:
WiMAX Phy object

Creates a physical layer object to be used in simulation.

References NS_FATAL_ERROR.

Referenced by Install().

Ptr< WimaxPhy > ns3::WimaxHelper::CreatePhy ( PhyType  phyType,
char *  SNRTraceFilePath,
bool  activateLoss 
)
Parameters:
phyTypeWiMAX Physical layer type
SNRTraceFilePaththe path to the repository containing the SNR traces files
activateLossset to 1 if you want ton activate losses 0 otherwise
Returns:
WiMAX Phy object

Creates a physical layer

References NS_FATAL_ERROR.

Parameters:
phyTypeWiMAX Physical layer type
Returns:
WiMAX Phy object

Creates a physical layer without a channel

References NS_FATAL_ERROR.

Referenced by Install().

Ptr< WimaxPhy > ns3::WimaxHelper::CreatePhyWithoutChannel ( PhyType  phyType,
char *  SNRTraceFilePath,
bool  activateLoss 
)
Parameters:
phyTypeWiMAX Physical layer type
SNRTraceFilePathof the repository containing the SNR traces files
activateLossset to 1 to activate losses 0 otherwise
Returns:
WiMAX Phy object

Creates a physical layer without creating a channel

References NS_FATAL_ERROR.

ServiceFlow ns3::WimaxHelper::CreateServiceFlow ( ServiceFlow::Direction  direction,
ServiceFlow::SchedulingType  schedulinType,
IpcsClassifierRecord  classifier 
)

Creates a transport service flow.

Parameters:
directionthe direction of the service flow: UP or DOWN.
schedulinTypeThe service scheduling type to be used: UGS, RTPS, NRTPS, BE
classifierThe classifier to be used for this service flow
Parameters:
schedulerTypeScheduling mechanism
Returns:
Uplink scheduler

Creates a uplink scheduler to be used by base station according to selected scheduling mechanism.

References NS_FATAL_ERROR, SCHED_TYPE_MBQOS, SCHED_TYPE_RTPS, SCHED_TYPE_SIMPLE, and ns3::Seconds().

Referenced by Install().

void ns3::WimaxHelper::EnableAsciiForConnection ( Ptr< OutputStreamWrapper oss,
uint32_t  nodeid,
uint32_t  deviceid,
char *  netdevice,
char *  connection 
) [static]

Enable ascii trace output on the indicated net device for a given connection.

Parameters:
ossThe output stream object to use when logging ascii traces.
nodeidthe id of the node for which you want to enable tracing.
deviceidthe id of the net device for which you want to enable tracing.
netdevicethe type of net device for which you want to enable tracing (SubscriberStationNetDevice, BaseStationNetDevice or WimaxNetDevice)
connectionthe connection for which you want to enable tracing (InitialRangingConnection, BroadcastConnection, BasicConnection, PrimaryConnection).

References ns3::Config::Connect().

void ns3::WimaxHelper::EnableLogComponents ( void  ) [static]

Helper to enable all WimaxNetDevice log components with one statement

References ns3::LogComponentEnable().

Parameters:
ca set of nodes
typedevice type to create
phyTypea phy to use
schedulerTypethe type of the scheduling algorithm to install

For each of the input nodes, a new WiMAX net device (either ns3::SubscriberStationNetDevice or ns3::BaseStationNetDevice depending on the type parameter) is attached to the shared input channel.

References ns3::NetDeviceContainer::Add(), ns3::Node::AddDevice(), ns3::Mac48Address::Allocate(), ns3::NodeContainer::Begin(), CreateBSScheduler(), CreatePhy(), CreateUplinkScheduler(), DEVICE_TYPE_BASE_STATION, ns3::NodeContainer::End(), ns3::WimaxNetDevice::SetAddress(), ns3::WimaxPhy::SetDevice(), and ns3::WimaxNetDevice::Start().

NetDeviceContainer ns3::WimaxHelper::Install ( NodeContainer  c,
NetDeviceType  deviceType,
PhyType  phyType,
Ptr< WimaxChannel channel,
SchedulerType  schedulerType 
)
Parameters:
cA set of nodes.
deviceTypeDevice type to create.
phyTypePHY type to create.
channelA channel to use.
schedulerTypeThe scheduling mechanism.

For each of the input nodes, a new WiMAX net device (either ns3::SubscriberStationNetDevice or ns3::BaseStationNetDevice depending on the type parameter) is attached to the shared input channel.

References ns3::NetDeviceContainer::Add(), ns3::Node::AddDevice(), ns3::Mac48Address::Allocate(), ns3::NodeContainer::Begin(), CreateBSScheduler(), CreatePhyWithoutChannel(), CreateUplinkScheduler(), DEVICE_TYPE_BASE_STATION, ns3::NodeContainer::End(), ns3::WimaxNetDevice::SetAddress(), ns3::WimaxPhy::SetDevice(), and ns3::WimaxNetDevice::Start().

NetDeviceContainer ns3::WimaxHelper::Install ( NodeContainer  c,
NetDeviceType  deviceType,
PhyType  phyType,
SchedulerType  schedulerType,
double  frameDuration 
)
Parameters:
cA set of nodes.
deviceTypeDevice type to create.
phyTypePHY type to create.
schedulerTypeThe scheduling mechanism.
frameDurationthe farme duration in seconds

For each of the input nodes, a new WiMAX net device (either ns3::SubscriberStationNetDevice or ns3::BaseStationNetDevice depending on the type parameter) is attached to the shared input channel.

References ns3::NetDeviceContainer::Add(), ns3::Node::AddDevice(), ns3::Mac48Address::Allocate(), ns3::NodeContainer::Begin(), CreateBSScheduler(), CreatePhy(), CreateUplinkScheduler(), DEVICE_TYPE_BASE_STATION, ns3::NodeContainer::End(), ns3::Seconds(), ns3::WimaxNetDevice::SetAddress(), ns3::WimaxPhy::SetDevice(), ns3::WimaxPhy::SetFrameDuration(), and ns3::WimaxNetDevice::Start().

Ptr< WimaxNetDevice > ns3::WimaxHelper::Install ( Ptr< Node node,
NetDeviceType  deviceType,
PhyType  phyType,
Ptr< WimaxChannel channel,
SchedulerType  schedulerType 
)
Parameters:
nodeNode to be installed.
deviceTypeDevice type to create.
phyTypePHY type to create.
channelA channel to use.
schedulerTypeThe scheduling mechanism to install on the device.

For each of the input nodes, a new WiMAX net device (either ns3::SubscriberStationNetDevice or ns3::BaseStationNetDevice depending on the type parameter) is attached to the shared input channel.

References ns3::Node::AddDevice(), ns3::Mac48Address::Allocate(), CreateBSScheduler(), CreatePhyWithoutChannel(), CreateUplinkScheduler(), DEVICE_TYPE_BASE_STATION, ns3::WimaxNetDevice::SetAddress(), ns3::WimaxPhy::SetDevice(), and ns3::WimaxNetDevice::Start().

void ns3::WimaxHelper::SetPropagationLossModel ( SimpleOfdmWimaxChannel::PropModel  propagationModel)

Set the propagation and loss model of the channel. By default the channel uses a COST231 propagation and loss model.

Parameters:
propagationModelThe propagation and loss model to set

References ns3::Object::GetObject().


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