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. | |
![]() | |
PcapHelperForDevice () | |
Construct a PcapHelperForDevice. | |
virtual | ~PcapHelperForDevice () |
Destroy a PcapHelperForDevice. | |
void | EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false) |
Enable pcap output the indicated net device. | |
void | EnablePcap (std::string prefix, std::string ndName, bool promiscuous=false, bool explicitFilename=false) |
Enable pcap output the indicated net device using a device previously named using the ns-3 object name service. | |
void | EnablePcap (std::string prefix, NetDeviceContainer d, bool promiscuous=false) |
Enable pcap output on each device in the container which is of the appropriate type. | |
void | EnablePcap (std::string prefix, NodeContainer n, bool promiscuous=false) |
Enable pcap output on each device (which is of the appropriate type) in the nodes provided in the container. | |
void | EnablePcap (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool promiscuous=false) |
Enable pcap output on the device specified by a global node-id (of a previously created node) and associated device-id. | |
void | EnablePcapAll (std::string prefix, bool promiscuous=false) |
Enable pcap output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. | |
![]() | |
AsciiTraceHelperForDevice () | |
Construct an AsciiTraceHelperForDevice. | |
virtual | ~AsciiTraceHelperForDevice () |
Destroy an AsciiTraceHelperForDevice. | |
void | EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false) |
Enable ascii trace output on the indicated net device. | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd) |
Enable ascii trace output on the indicated net device. | |
void | EnableAscii (std::string prefix, std::string ndName, bool explicitFilename=false) |
Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service. | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, std::string ndName) |
Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service. | |
void | EnableAscii (std::string prefix, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. | |
void | EnableAscii (std::string prefix, NodeContainer n) |
Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container. | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, NodeContainer n) |
Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container. | |
void | EnableAsciiAll (std::string prefix) |
Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. | |
void | EnableAsciiAll (Ptr< OutputStreamWrapper > stream) |
Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. | |
void | EnableAscii (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool explicitFilename) |
Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id. | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, uint32_t nodeid, uint32_t deviceid) |
Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id. |
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().
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.
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().
|
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().
|
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().