|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
25 #include "ns3/simulator.h"
30 #include "ns3/packet-burst.h"
36 #include "ns3/trace-source-accessor.h"
37 #include "ns3/pointer.h"
39 #include "ns3/uinteger.h"
45 #include "ns3/ipv4-address.h"
46 #include "ns3/llc-snap-header.h"
60 .SetGroupName(
"Wimax")
64 .AddAttribute (
"BSScheduler",
65 "Downlink Scheduler for BS",
68 MakePointerChecker<BSScheduler> ())
70 .AddAttribute (
"InitialRangInterval",
71 "Time between Initial Ranging regions assigned by the BS. Maximum is 2s",
77 .AddAttribute (
"DcdInterval",
78 "Time between transmission of DCD messages. Maximum value is 10s.",
83 .AddAttribute (
"UcdInterval",
84 "Time between transmission of UCD messages. Maximum value is 10s.",
89 .AddAttribute (
"IntervalT8",
90 "Wait for DSA/DSC Acknowledge timeout. Maximum 300ms.",
95 .AddAttribute (
"RangReqOppSize",
96 "The ranging opportunity size in symbols",
100 MakeUintegerChecker<uint8_t> (1, 256))
102 .AddAttribute (
"BwReqOppSize",
103 "The bandwidth request opportunity size in symbols",
106 MakeUintegerChecker<uint8_t> (1, 256))
108 .AddAttribute (
"MaxRangCorrectionRetries",
109 "Number of retries on contention Ranging Requests",
113 MakeUintegerChecker<uint8_t> (1, 16))
115 .AddAttribute (
"SSManager",
116 "The ss manager attached to this device.",
119 MakePointerChecker<SSManager> ())
121 .AddAttribute (
"Scheduler",
122 "The BS scheduler attached to this device.",
125 MakePointerChecker<BSScheduler> ())
127 .AddAttribute (
"LinkManager",
128 "The link manager attached to this device.",
131 MakePointerChecker<BSLinkManager> ())
133 .AddAttribute (
"UplinkScheduler",
134 "The uplink scheduler attached to this device.",
138 MakePointerChecker<UplinkScheduler> ())
140 .AddAttribute (
"BsIpcsPacketClassifier",
141 "The uplink IP packet classifier attached to this device.",
144 MakePointerChecker<IpcsClassifier> ())
146 .AddAttribute (
"ServiceFlowManager",
147 "The service flow manager attached to this device.",
151 MakePointerChecker<ServiceFlowManager> ())
153 .AddTraceSource (
"BSTx",
154 "A packet has been received from higher layers "
155 "and is being processed in preparation "
156 "for queueing for transmission.",
158 "ns3::Packet::TracedCallback")
160 .AddTraceSource (
"BSTxDrop",
161 "A packet has been dropped in the MAC layer "
162 "before being queued for transmission.",
164 "ns3::Packet::TracedCallback")
166 .AddTraceSource (
"BSPromiscRx",
167 "A packet has been received by this device, "
168 "has been passed up from the physical layer "
169 "and is being forwarded up the local protocol stack. "
170 "This is a promiscuous trace,",
172 "ns3::Packet::TracedCallback")
174 .AddTraceSource (
"BSRx",
175 "A packet has been received by this device, "
176 "has been passed up from the physical layer "
177 "and is being forwarded up the local protocol stack. "
178 "This is a non-promiscuous trace,",
180 "ns3::Packet::TracedCallback")
182 .AddTraceSource (
"BSRxDrop",
183 "A packet has been dropped in the MAC layer "
184 "after it has been passed up from the physical layer.",
186 "ns3::Packet::TracedCallback");
516 GetPhy ()->SetPhyParameters ();
517 GetPhy ()->SetDataRates ();
542 uint32_t symbolsPerFrame =
GetPhy ()->GetSymbolsPerFrame ();
613 uint16_t protocolNumber)
625 if (protocolNumber == 2048)
630 if (protocolNumber != 2048 || serviceFlow == 0)
635 if (serviceFlow == 0)
665 "BS: Can not enqueue packet on the selected connection: the connection is not initialized");
670 hdr.
SetCid (connection->GetCid ());
672 return connection->Enqueue (packet, hdrType, hdr);
689 bool fragmentation =
false;
702 cid = gnrcMacHdr.
GetCid ();
714 uint8_t tmpType = type;
715 if (((tmpType >> 2) & 1) == 1)
718 NS_LOG_INFO (
"FRAG_DEBUG: DoReceive -> the packet is a fragment" << std::endl);
719 fragmentation =
true;
817 NS_LOG_INFO (
"FRAG_DEBUG: BS DoReceive, the Packet is a fragment" << std::endl);
819 uint32_t fc = fragSubhdr.
GetFc ();
825 NS_LOG_INFO (
"\t Received the latest fragment" << std::endl);
827 ->FragmentEnqueue (packet);
833 NS_LOG_INFO (
"\t BS PACKET DEFRAGMENTATION" << std::endl);
835 iter != fragmentsQueue.end (); ++iter)
841 ->ClearFragmentsQueue ();
852 NS_LOG_INFO (
"\t Received the first or the middle fragment" << std::endl);
854 ->FragmentEnqueue (packet);
865 "A bandwidth request should be carried by a bandwidth header type");
872 cid = bwRequestHdr.
GetCid ();
884 bool sendDcd =
false, sendUcd =
false, updateDcd =
false, updateUcd =
false;
886 uint16_t currentNrSsRegistered =
m_ssManager->GetNRegisteredSSs ();
890 m_uplinkScheduler->GetChannelDescriptorsToUpdate (updateDcd, updateUcd, sendDcd, sendUcd);
894 sendDcd = sendUcd =
true;
962 std::pair<OfdmDlMapIe*, Ptr<PacketBurst> > pair;
964 std::list<std::pair<OfdmDlMapIe*, Ptr<PacketBurst> > > *downlinkBursts =
m_scheduler->GetDownlinkBursts ();
969 while (downlinkBursts->size ())
971 pair = downlinkBursts->front ();
973 dlMapIe = pair.first;
975 uint8_t diuc = dlMapIe->
GetDiuc ();
994 txTime +=
GetPhy ()->GetTransmissionTime (burst->GetSize (), modulationType);
995 downlinkBursts->pop_front ();
1009 std::list<std::pair<OfdmDlMapIe*, Ptr<PacketBurst> > > *downlinkBursts =
m_scheduler->GetDownlinkBursts ();
1012 != downlinkBursts->end (); ++iter)
1014 iter->first->SetPreamblePresent (0);
1015 iter->first->SetStartTime (0);
1074 std::list<OfdmUlMapIe> uplinkAllocations =
m_uplinkScheduler->GetUplinkAllocations ();
1076 for (std::list<OfdmUlMapIe>::iterator iter = uplinkAllocations.begin (); iter != uplinkAllocations.end (); ++iter)
1166 NS_ASSERT_MSG (connection != 0,
"BS: Invalid connection=0");
1173 uint16_t symbolsToAllocation = 0;
1174 std::list<OfdmUlMapIe> uplinkAllocations =
m_uplinkScheduler->GetUplinkAllocations ();
1175 for (std::list<OfdmUlMapIe>::iterator iter = uplinkAllocations.begin (); iter != uplinkAllocations.end (); ++iter)
1184 symbolsToAllocation = uplinkAllocation.
GetStartTime ();
void Start(void)
Start device.
bool check_hcs(void) const
Check HCS.
a unique identifier for an interface.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
void SetDcdInterval(Time dcdInterval)
static uint8_t m_direction
downlink or uplink
void SetFrameDurationCode(uint8_t frameDurationCode)
Set frame duration code field.
TracedCallback< Ptr< const Packet > > m_bsTxTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition,...
Time GetDlSubframeStartTime(void) const
uint32_t m_nrUlMapSent
number UL map sent
void StartFrame(void)
Start frame function.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
uint32_t m_framesSinceLastDcd
frames since last DCD
void SetDlBurstProfiles(Dcd *dcd)
Send DL burst profiles.
Ptr< const AttributeChecker > MakeTimeChecker(const Time min, const Time max)
Helper to make a Time checker with bounded range.
void ForwardUp(Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest)
Forward a packet to the next layer above the device.
void SetBwReqOppSize(uint8_t bwReqOppSize)
void SetChannelEncodings(OfdmUcdChannelEncodings channelEncodings)
Set channel encodings.
void SetMaxRangingCorrectionRetries(uint8_t maxRangCorrectionRetries)
uint16_t GetTtg(void) const
Get transmission/receive transition gap.
uint32_t GetNrUcdSent(void) const
Ptr< ConnectionManager > GetConnectionManager(void) const
Get the connection manager of the device.
void EndDlSubFrame(void)
End DL subframe function.
uint8_t GetBwReqOppSize(void) const
void EndFrame(void)
End frame function.
uint32_t GetSize(void) const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
void ForwardDown(Ptr< PacketBurst > burst, WimaxPhy::ModulationType modulationType)
Forward a packet down the stack.
void AddHeader(const Header &header)
Add header to this packet.
uint32_t GetNrUlSymbols(void) const
void SetTtg(uint8_t ttg)
Set TTG field.
TracedCallback< Ptr< const Packet > > m_bsTxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
uint16_t GetRtg(void) const
Get receive/transmit transition gap.
void SetConfigurationChangeCount(uint8_t ucdCount)
Set configuration change count.
static Time Now(void)
Return the current simulation virtual time.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void SetFrameNumber(uint32_t frameNumber)
Set frame number field.
void AddDlBurstProfile(OfdmDlBurstProfile dlBurstProfile)
Add DL burst profile field.
BaseStationNetDevice(void)
void SetState(uint8_t state)
Set the device state.
uint8_t GetMaxInvitedRangRetries(void) const
bool IsBasic(Cid cid) const
This function determines if the CID is basic.
uint32_t m_framesSinceLastUcd
frames since last UCD
Time GetSymbolDuration(void) const
bool IsBroadcast(void) const
void SetBwReqOppSize(uint16_t bwReqOppSize)
Set BW request opp size.
Ptr< BurstProfileManager > GetBurstProfileManager(void) const
Get the burst profile manager.
This class implements the OFDM UCD channel encodings as described by "IEEE Standard for Local and met...
void SetSbchnlFocContCodes(uint8_t sbchnlFocContCodes)
Set SB channel for control codes.
This class implements the bandwidth-request mac Header as described by IEEE Standard for Local and me...
void SetCid(Cid cid)
Set CID function.
void SetLength(uint8_t length)
Set length field.
Ptr< BSLinkManager > m_linkManager
the link manager
void SetRangingBackoffStart(uint8_t rangingBackoffStart)
Set ranging backoff start.
Mac Management messages Section 6.3.2.3 MAC Management messages page 42, Table 14 page 43.
uint8_t GetRangingOppNumber(void) const
Time m_intervalT8
in milliseconds, wait for DSA/DSC Acknowledge timeout
Cid GetCid(void) const
Get CID.
void StartDlSubFrame(void)
Start DL subframe function.
uint16_t m_nrSsRegistered
number SS registered
void SetConfigurationChangeCount(uint8_t configurationChangeCount)
Set configuration change count field.
CidFactory * m_cidFactory
the CID factory
Cid GetCid(void) const
Set CID field.
~BaseStationNetDevice(void)
uint8_t m_ulAllocationNumber
to see UL burst number
uint32_t m_nrUlSymbols
number of UL symbols
Hold objects of type Ptr<T>.
uint32_t GetNrDlSymbols(void) const
void SetLinkManager(Ptr< BSLinkManager > linkManager)
TracedCallback< Ptr< const Packet > > m_bsRxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
void MarkUplinkAllocationStart(Time allocationStartTime)
Mark uplink allocation start.
uint32_t m_nrDlMapSent
number DL map sent
@ MODULATION_TYPE_BPSK_12
Ptr< BSScheduler > GetBSScheduler(void) const
TimeWithUnit As(const enum Unit unit=Time::AUTO) const
Attach a unit to a Time, to facilitate output in a specific unit.
bool GetIsEnabled(void) const
Get is enabled flag.
TracedCallback< Ptr< const Packet > > m_bsRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
uint32_t m_nrDlSymbols
number of DL symbols
This class implements the UL-MAP_IE message as described by "IEEE Standard for Local and metropolitan...
static EventId Schedule(Time const &delay, FUNC f, Ts &&... args)
Schedule an event to expire after delay.
void SetUiuc(uint8_t uiuc)
Set UIUC.
uint32_t m_dcdConfigChangeCount
DCD config change count.
TracedCallback< Ptr< const Packet >, Mac48Address, Cid > m_traceBSRx
the base station receive trace callback
void CreateDefaultConnections(void)
Creates the initial ranging and broadcast connections.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
std::list< Ptr< const Packet > > FragmentsQueue
Definition of Fragments Queue data type.
void SetRequestBackoffEnd(uint8_t requestBackoffEnd)
Set request backoff end.
uint32_t m_ucdConfigChangeCount
UCD config change count.
void SetUcdInterval(Time ucdInterval)
void AddDlMapElement(OfdmDlMapIe dlMapElement)
Add DL Map element field.
void SetDcdCount(uint8_t dcdCount)
Set DCD count field.
Ptr< WimaxConnection > GetInitialRangingConnection(void) const
Get the initial ranging connection.
TracedCallback< Ptr< const Packet > > m_bsPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
void SetMaxInvitedRangRetries(uint8_t maxInvitedRangRetries)
void MarkUplinkAllocationEnd(Time allocationEndTime, Cid cid, uint8_t uiuc)
Mark uplink allocation end.
Ptr< WimaxConnection > GetConnection(Cid cid)
void SetBsEirp(uint16_t bs_eirp)
Set BS EIRP field.
uint8_t GetHt(void) const
Get HT field.
void SetBsClassifier(Ptr< IpcsClassifier > classifier)
uint32_t GetNrDcdSent(void) const
Ptr< IpcsClassifier > GetBsClassifier(void) const
void MarkUplinkAllocations(void)
Mark uplink allocations.
Time GetDcdInterval(void) const
uint32_t m_allocationStartTime
allocation start time
Time GetPsDuration(void) const
void InitBaseStationNetDevice(void)
initializes the BS net device and sets its parameters to the default values
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
This class implements the DSA-REQ message described by "IEEE Standard for Local and metropolitan area...
void SetType(uint8_t type)
Set type.
Ptr< UplinkScheduler > GetUplinkScheduler(void) const
Hold together all WiMAX-related objects in a NetDevice.
void MarkRangingOppStart(Time rangingOppStartTime)
Mark ranging opp start.
void SetLength(uint8_t length)
Set length.
void SetUplinkScheduler(Ptr< UplinkScheduler > ulScheduler)
ModulationType
ModulationType enumeration.
uint16_t GetStartTime(void) const
Get start time.
Time m_dcdInterval
in seconds
void SetRequestBackoffStart(uint8_t requestBackoffStart)
Set request backoff start.
uint32_t m_nrUlFrames
number UL frames
This class implements the OFDM DL-MAP information element as described by "IEEE Standard for Local an...
void SendBursts(void)
Send burst function.
bool Enqueue(Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
Enqueue a packet into a connection queue.
This class implements the DSA-ACK message described by "IEEE Standard for Local and metropolitan area...
This class implements the UL-MAP_IE message as described by "IEEE Standard for Local and metropolitan...
void SetTtg(uint16_t ttg)
Set transmission/receive transition gap.
uint8_t GetType(void) const
Get type field.
static Cid InitialRanging(void)
static void Cancel(const EventId &id)
Set the cancel bit on this event: the event's associated function will not be invoked when it expires...
Ptr< BSLinkManager > GetLinkManager(void) const
This class implements the OFDM DCD channel encodings as described by "IEEE Standard for Local and met...
This class implements the UL burst profile as described by "IEEE Standard for Local and metropolitan ...
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
Ptr< UplinkScheduler > m_uplinkScheduler
the uplink scheduler
void SetFrequency(uint32_t frequency)
Set frequency field.
void SetRangReqOppSize(uint8_t rangReqOppSize)
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit.
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
void SetSSManager(Ptr< SSManager > ssManager)
uint16_t GetDuration(void) const
Get duration.
Time m_ucdInterval
in seconds
void SetType(uint8_t type)
Set type field.
uint8_t m_rangReqOppSize
in symbols
void SetPhy(Ptr< WimaxPhy > phy)
Set the physical layer object.
void CreateMapMessages(void)
creates the MAC management messages DL-MAP and UL-MAP
void Stop(void)
Stop device.
Ptr< SSManager > m_ssManager
the SS manager
Simulation virtual time values and global simulation resolution.
uint32_t m_nrDcdSent
number DCD sent
void SetRangReqOppSize(uint16_t rangReqOppSize)
Set range request opp size.
void SetBaseStationId(Mac48Address baseStationID)
Set base station ID field.
void SetDiuc(uint8_t diuc)
Set DIUC field.
uint16_t m_nrUlAllocations
number UL allocations
Ptr< SSManager > GetSSManager(void) const
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
This class implements DL-MAP as described by "IEEE Standard for Local and metropolitan area networks ...
Mac48Address GetMacAddress(void) const
Get the MAC address.
Ptr< Packet > CreateUcd(void)
Create UCD.
uint32_t GetNrFrames(void) const
Get the number of frames.
void SetServiceFlowManager(Ptr< BsServiceFlowManager > sfm)
Set service flow manager.
uint32_t m_nrUcdSent
number UCD sent
void SetNrDlSymbols(uint32_t dlSymbols)
uint8_t m_maxRangCorrectionRetries
maximum range correction retries
bool IsInitialRanging(void) const
Time m_psDuration
ps duration
void UplinkAllocationStart(void)
Uplink allocation start.
Ptr< Packet > CreateUlMap(void)
Create UL map.
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
Ptr< WimaxConnection > GetBroadcastConnection(void) const
Get the broadcast connection.
uint8_t GetDiuc(void) const
Get DIUC field.
void SetRtg(uint16_t rtg)
Set receive/transmit transition gap.
void SetCurrentUcd(Ucd ucd)
Set the current UCD.
void SetEirxPIrMax(uint16_t rss_ir_max)
Set EIRX IR MAX field.
uint8_t m_bwReqOppSize
in symbols
This class implements the OFDM Downlink burst profile descriptor as described by "IEEE Standard for L...
void AddUlBurstProfile(OfdmUlBurstProfile ulBurstProfile)
Add UL burst profile.
Time m_dlSubframeStartTime
DL subframe start time.
void AddAtEnd(Ptr< const Packet > packet)
Concatenate the input packet at the end of the current packet.
Ptr< WimaxConnection > GetConnection(void) const
Can return a null connection is this service flow has not been associated yet to a connection.
uint8_t m_rangingOppNumber
current ranging TO number
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
void SetBSScheduler(Ptr< BSScheduler > bsSchedule)
virtual void SetNode(Ptr< Node > node)
Set node pointer.
Ptr< BandwidthManager > GetBandwidthManager(void) const
Get the bandwidth manager on the device.
Ptr< BsServiceFlowManager > m_serviceFlowManager
the service flow manager
void SetInitialRangingInterval(Time initialRangInterval)
uint8_t GetMaxRangingCorrectionRetries(void) const
Time Seconds(double value)
Construct a Time in the indicated unit.
Ptr< Packet > Copy(void) const
performs a COW copy of the packet.
void RangingOppStart(void)
Ranging opp start.
This class is used exclusively by the BS to allocate CIDs to new connections.
Time m_initialRangInterval
in seconds
static TypeId GetTypeId(void)
Get the type ID.
virtual void DoDispose(void)
Destructor implementation.
void SetReceiveCallback(void)
Set receive callback function.
bool IsPrimary(Cid cid) const
This function determines if the CID is primary.
AttributeValue implementation for Time.
Time GetIntervalT8(void) const
uint16_t m_nrDlAllocations
number DL allocations
Time GetInitialRangingInterval(void) const
void StartUlSubFrame(void)
Start UL subframe function.
void SetChannelEncodings(OfdmDcdChannelEncodings channelEncodings)
Set channel encodings field.
void SetSbchnlReqRegionFullParams(uint8_t sbchnlReqRegionFullParams)
Set SB channel reguest region full parameters.
virtual void DoDispose(void)
Destructor implementation.
void SetFecCodeType(uint8_t fecCodeType)
Set FEC code type.
Ptr< Packet > CreateDlMap(void)
Create DL map.
void EndUlSubFrame(void)
End UL subframe function.
void SetAllocationStartTime(uint32_t allocationStartTime)
Set allocation start time.
void SetNrUlSymbols(uint32_t ulSymbols)
uint8_t GetRangReqOppSize(void) const
static Time m_frameStartTime
temp, to determine the frame start time at SS side, shall actually be determined by frame start pream...
This class implements service flows as described by the IEEE-802.16 standard.
Hold an unsigned integer type.
Time m_symbolDuration
symbol duration
void SetChannelNr(uint8_t channelNr)
Set channel number field.
void SetNrFrames(uint32_t nrFrames)
Set the number of frames.
uint8_t GetUiuc(void) const
Get UIUC.
uint8_t m_maxInvitedRangRetries
maximum invited range retries
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
This class implements the UCD message as described by "IEEE Standard for Local and metropolitan area ...
Time m_ulSubframeStartTime
UL subframe start time.
Ptr< Packet > CreateDcd(void)
Create DCD.
void SetRangingBackoffEnd(uint8_t rangingBackoffEnd)
Set ranging backoff end.
void AddUlMapElement(OfdmUlMapIe ulMapElement)
Add UL map element.
void SetUlBurstProfiles(Ucd *ucd)
Send UL burst profiles.
void SetUcdCount(uint8_t ucdCount)
Set UCD count.
void CreateDescriptorMessages(bool sendDcd, bool sendUcd)
creates the channel descriptor MAC management messages DCD and UCD
Ptr< BSScheduler > m_scheduler
the base station scheduler
void SetFecCodeType(uint8_t fecCodeType)
Set FEC code type.
void SetPreamblePresent(uint8_t preamblePresent)
Set preamble present field.
static EventId ScheduleNow(FUNC f, Ts &&... args)
Schedule an event to expire Now.
void SetBaseStationId(Mac48Address baseStationId)
Set base station ID field.
Time GetUlSubframeStartTime(void) const
Ptr< BsServiceFlowManager > GetServiceFlowManager(void) const
void SetIntervalT8(Time interval)
uint32_t m_nrDlFrames
number DL frames
double GetSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
This class implements Downlink channel descriptor as described by "IEEE Standard for Local and metrop...
void DoReceive(Ptr< Packet > packet)
Receive packet.
void SetDiuc(uint8_t diuc)
Set DIUC field.
void SetRtg(uint8_t rtg)
Set RTG field.
Ptr< WimaxPhy > GetPhy(void) const
Get the physical layer object.
Ptr< const AttributeAccessor > MakeTimeAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
void SetCurrentDcd(Dcd dcd)
Set the current DCD.
bool DoSend(Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber)
Send packet.
void SetFrequency(uint32_t frequency)
Set frequency.
void SetStartTime(uint16_t startTime)
Set start time field.
Ptr< IpcsClassifier > m_bsClassifier
the base station classifier
void UplinkAllocationEnd(Cid cid, uint8_t uiuc)
Uplink allocation end.
Time GetUcdInterval(void) const
Cid GetCid(void) const
Get CID field.
This class implements the ranging request message described by "IEEE Standard for Local and metropoli...