21 #ifndef WIMAX_HELPER_H
22 #define WIMAX_HELPER_H
24 #include "ns3/bs-net-device.h"
25 #include "ns3/bs-scheduler-rtps.h"
26 #include "ns3/bs-scheduler-simple.h"
27 #include "ns3/bs-scheduler.h"
28 #include "ns3/bs-uplink-scheduler-mbqos.h"
29 #include "ns3/bs-uplink-scheduler-rtps.h"
30 #include "ns3/bs-uplink-scheduler-simple.h"
31 #include "ns3/bs-uplink-scheduler.h"
32 #include "ns3/net-device-container.h"
33 #include "ns3/node-container.h"
34 #include "ns3/object-factory.h"
35 #include "ns3/propagation-loss-model.h"
36 #include "ns3/service-flow.h"
37 #include "ns3/simple-ofdm-wimax-channel.h"
38 #include "ns3/ss-net-device.h"
39 #include "ns3/trace-helper.h"
48 class UplinkScheduler;
189 double frameDuration);
215 char* SNRTraceFilePath,
321 bool explicitFilename,
322 bool promiscuous)
override;
338 bool explicitFilename)
override;
Base class providing common user-level ascii trace operations for helpers representing net devices.
IpcsClassifierRecord class.
holds a vector of ns3::NetDevice pointers
keep track of a set of node pointers.
Base class providing common user-level pcap operations for helpers representing net devices.
This class implements service flows as described by the IEEE-802.16 standard.
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
Direction
Direction enumeration.
PropModel
PropModel enumeration.
helps to manage and create WimaxNetDevice objects
SchedulerType
Scheduler Type Different implementations of uplink/downlink scheduler.
@ SCHED_TYPE_RTPS
A simple scheduler - rtPS based scheduler.
@ SCHED_TYPE_MBQOS
An migration-based uplink scheduler.
@ SCHED_TYPE_SIMPLE
A simple priority-based FCFS scheduler.
NetDeviceType
Net Device Type Distinguish a subscriber station(SS) device from base station(BS) device.
@ DEVICE_TYPE_SUBSCRIBER_STATION
Subscriber station(SS) device.
@ DEVICE_TYPE_BASE_STATION
Base station(BS) device.
Ptr< WimaxChannel > m_channel
wifi channel
Ptr< WimaxPhy > CreatePhyWithoutChannel(PhyType phyType)
Ptr< UplinkScheduler > CreateUplinkScheduler(SchedulerType schedulerType)
void SetPropagationLossModel(SimpleOfdmWimaxChannel::PropModel propagationModel)
Set the propagation and loss model of the channel.
PhyType
WiMAX Physical layer WiMAX Physical layers with different levels of detail.
Ptr< BSScheduler > CreateBSScheduler(SchedulerType schedulerType)
Ptr< WimaxPhy > CreatePhy(PhyType phyType)
WimaxHelper()
Create a Wimax helper in an empty state.
void EnableAsciiInternal(Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename) override
Enable ascii trace output on the indicated net device.
static void AsciiTxEvent(Ptr< OutputStreamWrapper > stream, std::string path, Ptr< const Packet > packet, const Mac48Address &dest)
ASCII trace transmit event.
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model.
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.
NetDeviceContainer Install(NodeContainer c, NetDeviceType type, PhyType phyType, SchedulerType schedulerType)
static void EnableLogComponents()
Helper to enable all WimaxNetDevice log components with one statement.
static void AsciiRxEvent(Ptr< OutputStreamWrapper > stream, std::string path, Ptr< const Packet > packet, const Mac48Address &source)
ASCII trace receive event.
void EnablePcapInternal(std::string prefix, Ptr< NetDevice > nd, bool explicitFilename, bool promiscuous) override
Enable pcap output on the indicated net device.
ServiceFlow CreateServiceFlow(ServiceFlow::Direction direction, ServiceFlow::SchedulingType schedulinType, IpcsClassifierRecord classifier)
Creates a transport service flow.
Every class exported by the ns3 library is enclosed in the ns3 namespace.