ns-3
|
helps to manage and create WimaxNetDevice objects More...
#include <wimax-helper.h>
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< WimaxPhy > | CreatePhy (PhyType phyType) |
Ptr< UplinkScheduler > | CreateUplinkScheduler (SchedulerType schedulerType) |
Ptr< BSScheduler > | CreateBSScheduler (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< WimaxPhy > | CreatePhyWithoutChannel (PhyType phyType) |
Ptr< WimaxPhy > | CreatePhyWithoutChannel (PhyType phyType, char *SNRTraceFilePath, bool activateLoss) |
Ptr< WimaxPhy > | CreatePhy (PhyType phyType, char *SNRTraceFilePath, bool activateLoss) |
Ptr< WimaxNetDevice > | Install (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) |
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.
WiMAX Physical layer WiMAX Physical layers with different levels of detail
Scheduler Type Different implementations of uplink/downlink scheduler
Ptr< BSScheduler > ns3::WimaxHelper::CreateBSScheduler | ( | SchedulerType | schedulerType | ) |
schedulerType | Scheduling mechanism |
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().
Ptr< WimaxPhy > ns3::WimaxHelper::CreatePhy | ( | PhyType | phyType | ) |
phyType | WiMAX Physical layer type |
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 | ||
) |
phyType | WiMAX Physical layer type |
SNRTraceFilePath | the path to the repository containing the SNR traces files |
activateLoss | set to 1 if you want ton activate losses 0 otherwise |
Creates a physical layer
References NS_FATAL_ERROR.
Ptr< WimaxPhy > ns3::WimaxHelper::CreatePhyWithoutChannel | ( | PhyType | phyType | ) |
phyType | WiMAX Physical layer type |
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 | ||
) |
phyType | WiMAX Physical layer type |
SNRTraceFilePath | of the repository containing the SNR traces files |
activateLoss | set to 1 to activate losses 0 otherwise |
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.
direction | the direction of the service flow: UP or DOWN. |
schedulinType | The service scheduling type to be used: UGS, RTPS, NRTPS, BE |
classifier | The classifier to be used for this service flow |
Ptr< UplinkScheduler > ns3::WimaxHelper::CreateUplinkScheduler | ( | SchedulerType | schedulerType | ) |
schedulerType | Scheduling mechanism |
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.
oss | The output stream object to use when logging ascii traces. |
nodeid | the id of the node for which you want to enable tracing. |
deviceid | the id of the net device for which you want to enable tracing. |
netdevice | the type of net device for which you want to enable tracing (SubscriberStationNetDevice, BaseStationNetDevice or WimaxNetDevice) |
connection | the 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().
NetDeviceContainer ns3::WimaxHelper::Install | ( | NodeContainer | c, |
NetDeviceType | type, | ||
PhyType | phyType, | ||
SchedulerType | schedulerType | ||
) |
c | a set of nodes |
type | device type to create |
phyType | a phy to use |
schedulerType | the 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 | ||
) |
c | A set of nodes. |
deviceType | Device type to create. |
phyType | PHY type to create. |
channel | A channel to use. |
schedulerType | The 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 | ||
) |
c | A set of nodes. |
deviceType | Device type to create. |
phyType | PHY type to create. |
schedulerType | The scheduling mechanism. |
frameDuration | the 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 | ||
) |
node | Node to be installed. |
deviceType | Device type to create. |
phyType | PHY type to create. |
channel | A channel to use. |
schedulerType | The 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.
propagationModel | The propagation and loss model to set |
References ns3::Object::GetObject().