27 #include "ns3/nstime.h"
28 #include "ns3/trace-source-accessor.h"
29 #include "ns3/traced-callback.h"
30 #include "ns3/event-id.h"
31 #include "ns3/random-variable-stream.h"
44 class UanHeaderRcCtsGlobal;
155 virtual void Clear (
void);
keep track of time values and allow control of global simulation resolution
void ReceiveOkFromPhy(Ptr< Packet >, double sinr, UanTxMode mode)
void AddTimestamp(Time t)
forward calls to a chain of CallbackAn ns3::TracedCallback has almost exactly the same API as a norma...
virtual Address GetAddress(void)
UanHeaderRcRts CreateRtsHeader(const Reservation &res)
void ProcessAck(Ptr< Packet > ack)
Non-gateway node MAC for reservation channel MAC protocol.
a polymophic address class
virtual Address GetBroadcast(void) const
uint32_t GetNoFrames() const
void SetTransmitted(bool t=true)
Sets reservation transmitted state.
TracedCallback< Ptr< const Packet >, uint16_t > m_dequeueLogger
Virtual base class for all UAN MAC protocols.
Reservation()
Create empty object with default values.
std::vector< Time > m_timestamp
uint8_t GetRetryNo() const
virtual void SetForwardUpCb(Callback< void, Ptr< Packet >, const UanAddress & > cb)
Abstraction of packet modulation information.
bool IsTransmitted() const
TracedCallback< Ptr< const Packet >, UanTxMode > m_rxLogger
Ptr< ExponentialRandomVariable > m_ev
Provides exponential random variables.
std::list< std::pair< Ptr< Packet >, UanAddress > > m_pktQueue
static uint32_t m_cntrlSends
void AssociateTimeout(void)
void SetFrameNo(uint8_t fn)
static TypeId GetTypeId(void)
const std::list< std::pair< Ptr< Packet >, UanAddress > > & GetPktList(void) const
int64_t AssignStreams(int64_t stream)
TracedCallback< Ptr< const Packet >, uint16_t > m_enqueueLogger
std::list< Reservation > m_resList
an identifier for simulation events.
virtual void SetAddress(UanAddress addr)
virtual void AttachPhy(Ptr< UanPhy > phy)
void ScheduleData(const UanHeaderRcCts &ctsh, const UanHeaderRcCtsGlobal &ctsg, uint32_t ctsBytes)
uint32_t GetLength() const
void SendPacket(Ptr< Packet > pkt, uint32_t rate)
Stores reservation info for use in scheduling data channel by reservation channel MAC...
uint8_t GetFrameNo() const
std::list< std::pair< Ptr< Packet >, UanAddress > > m_pktList
a unique identifier for an interface.
void IncrementRetry()
Increments retry count by 1.
Callback< void, Ptr< Packet >, const UanAddress & > m_forwardUpCb
Time GetTimestamp(uint8_t n) const
virtual bool Enqueue(Ptr< Packet > pkt, const Address &dest, uint16_t protocolNumber)