37 .AddConstructor<WaveMacLow> ()
64 found = ConstCast<Packet> (packet)->PeekPacketTag (datatag);
111 if (!
m_scheduler->IsAlternatingAccessAssigned (curChannel))
120 if (transmissionTime > remainingTime)
125 <<
"ms exceeds the remainingTime = " << remainingTime.
GetMilliSeconds ()
126 <<
"ms, currently this packet will not be transmitted.");
Simulation virtual time values and global simulation resolution.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
Ptr< WifiPhy > GetPhy(void) const
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
virtual void StartTransmission(Ptr< const Packet > packet, const WifiMacHeader *hdr, MacLowTransmissionParameters parameters, MacLowTransmissionListener *listener)
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
static TypeId GetTypeId(void)
Ptr< ChannelScheduler > m_scheduler
listen to events coming from ns3::MacLow.
control how a packet is transmitted.
uint8_t GetTxPowerLevel(void) const
This tag will be used to support higher layer control DataRate and TxPwr_Level for transmission...
bool IsAdaptable(void) const
Ptr< ChannelCoordinator > GetChannelCoordinator(void) const
Time NeedTimeToGuardInterval(Time duration=Seconds(0.0)) const
virtual WifiTxVector GetDataTxVector(Ptr< const Packet > packet, const WifiMacHeader *hdr) const
Return a TXVECTOR for the DATA frame given the destination.
WifiTxVector GetTxVector(void) const
virtual void StartTransmission(Ptr< const Packet > packet, const WifiMacHeader *hdr, MacLowTransmissionParameters parameters, MacLowTransmissionListener *listener)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Time CalculateTransmissionTime(Ptr< const Packet > packet, const WifiMacHeader *hdr, const MacLowTransmissionParameters ¶meters) const
virtual uint16_t GetChannelNumber(void) const =0
Return current channel number.
void SetTxPowerLevel(uint8_t powerlevel)
Sets the selected transmission power level.
void SetMode(WifiMode mode)
Sets the selected payload transmission mode.
virtual WifiTxVector GetDataTxVector(Ptr< const Packet > packet, const WifiMacHeader *hdr) const
Return a TXVECTOR for the DATA frame given the destination.
handle RTS/CTS/DATA/ACK transactions.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
Ptr< ChannelCoordinator > m_coordinator
WifiMode GetMode(void) const
Ptr< ChannelScheduler > GetChannelScheduler(void) const
a unique identifier for an interface.
uint64_t GetDataRate(void) const
int64_t GetMilliSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
TypeId SetParent(TypeId tid)
void SetWaveNetDevice(Ptr< WaveNetDevice > device)