23 #ifndef WIMAX_SS_NET_DEVICE_H
24 #define WIMAX_SS_NET_DEVICE_H
26 #include "ns3/event-id.h"
28 #include "ns3/nstime.h"
30 #include "ns3/uinteger.h"
31 #include "ns3/ss-service-flow-manager.h"
37 class OfdmDlBurstProfile;
38 class OfdmUlBurstProfile;
41 class SsServiceFlowManager;
void SetIntervalT3(Time interval3)
void SetTimer(EventId eventId, EventId &event)
Cid GetBasicCid(void) const
Simulation virtual time values and global simulation resolution.
void SetIntervalT1(Time interval1)
Time GetIntervalT2(void) const
returns the wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity ...
static Time GetDefaultLostDlMapInterval()
Introspection did not find any typical Config paths.
void SetLostDlMapInterval(Time lostDlMapInterval)
void ProcessUcd(const Ucd &ucd)
Time GetMaxUcdInterval(void) const
returns the maximum time between transmission of UCD messages
void ProcessDcd(const Dcd &dcd)
void SetIntervalT21(Time interval21)
Ptr< WimaxConnection > m_basicConnection
Ptr< WimaxConnection > m_primaryConnection
bool HasServiceFlows(void) const
void SetIntervalT2(Time interval2)
void SetModulationType(WimaxPhy::ModulationType modulationType)
Set the most efficient modulation and coding scheme (MCS) supported by the device.
Forward calls to a chain of Callback.
bool GetAreManagementConnectionsAllocated(void) const
void ProcessDlMap(const DlMap &dlmap)
void SetMaxDcdInterval(Time maxDcdInterval)
void SetAreManagementConnectionsAllocated(bool areManagementConnectionsAllocated)
Time GetIntervalT7(void) const
returns the wait for DSA/DSC/DSD Response timeout
void SetLostUlMapInterval(Time lostUlMapInterval)
Time GetLostUlMapInterval(void) const
returns the time since last received UL-MAP before uplink synchronization is considered lost ...
void SetScheduler(Ptr< SSScheduler > ssScheduler)
void SetMaxUcdInterval(Time maxUcdInterval)
Time GetIntervalT12(void) const
returns the wait for UCD descriptor timeout
Ptr< IpcsClassifier > GetIpcsClassifier() const
Mac48Address m_baseStationId
TracedCallback< Ptr< const Packet > > m_ssPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
Ptr< SSScheduler > m_scheduler
void ProcessUlMap(const UlMap &ulmap)
bool m_areServiceFlowsAllocated
~SubscriberStationNetDevice(void)
bool IsRegistered(void) const
Cid GetPrimaryCid(void) const
TracedCallback< Ptr< const PacketBurst >, Mac48Address, Cid *, WimaxPhy::ModulationType > m_traceSSTx
Ptr< SSScheduler > GetScheduler(void) const
void DoReceive(Ptr< Packet > packet)
TracedCallback< Ptr< const Packet > > m_ssRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
SubscriberStationNetDevice(void)
void SetIntervalT20(Time interval20)
void SetMaxContentionRangingRetries(uint8_t maxContentionRangingRetries)
uint8_t m_maxContentionRangingRetries
double m_allocationStartTime
void SetIntervalT12(Time interval12)
bool DoSend(Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber)
bool Enqueue(Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
Enqueue a packet into a connection queue.
TracedCallback< Ptr< const Packet > > m_ssTxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
Introspection did not find any typical Config paths.
Time GetTimeToAllocation(Time defferTime)
Ptr< SsServiceFlowManager > m_serviceFlowManager
Ptr< SSLinkManager > GetLinkManager(void) const
TracedCallback< Ptr< const Packet > > m_ssTxTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition...
EventId m_ucdWaitTimeoutEvent
Introspection did not find any typical Config paths.
void SendBurst(uint8_t uiuc, uint16_t nrSymbols, Ptr< WimaxConnection > connection, MacHeaderType::HeaderType packetType=MacHeaderType::HEADER_TYPE_GENERIC)
Sends a burst on the uplink frame.
TracedCallback< Ptr< const Packet > > m_ssRxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
Hold together all Wimax-related objects in a NetDevice.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
static TypeId GetTypeId(void)
void DoDispose(void)
Destructor implementation.
WimaxPhy::ModulationType GetModulationType(void) const
returns the most efficient modulation and coding scheme (MCS) supported by the device ...
This class implements service flows as described by the IEEE-802.16 standard.
Ptr< SSLinkManager > m_linkManager
void SetBasicConnection(Ptr< WimaxConnection > basicConnection)
Ptr< WimaxConnection > GetBasicConnection(void) const
void SetAreServiceFlowsAllocated(bool areServiceFlowsAllocated)
uint16_t m_nrDlMapElements
Time GetIntervalT21(void) const
returns the time the SS searches for (decodable) DL-MAP on a given channel
EventId m_rangOppWaitTimeoutEvent
void SetLinkManager(Ptr< SSLinkManager >)
sets the link manager to be used
bool m_areManagementConnectionsAllocated
An identifier for simulation events.
Time GetIntervalT1(void) const
returns the wait for DCD timeout
Introspection did not find any typical Config paths.
Time GetMaxDcdInterval(void) const
returns the maximum time between transmission of DCD messages
void SetIntervalT7(Time interval7)
OfdmDlBurstProfile * m_dlBurstProfile
Time GetLostDlMapInterval(void) const
Time GetIntervalT20(void) const
returns the Time the SS searches for preambles on a given channel
void SetServiceFlowManager(Ptr< SsServiceFlowManager >)
Sets the service flow manager to be installed on the device.
Ptr< IpcsClassifier > m_classifier
void InitSubscriberStationNetDevice(void)
initializes the net device and sets the parameters to the default values
WimaxPhy::ModulationType m_modulationType
OfdmUlBurstProfile * m_ulBurstProfile
void SetIpcsPacketClassifier(Ptr< IpcsClassifier >)
Sets the packet classifier to be used.
Ptr< SsServiceFlowManager > GetServiceFlowManager(void) const
void AddServiceFlow(ServiceFlow *sf)
adds a new service flow
a unique identifier for an interface.
uint16_t m_nrUlMapElements
TracedCallback< Ptr< const Packet >, Mac48Address, Cid * > m_traceSSRx
void SetPrimaryConnection(Ptr< WimaxConnection > primaryConnection)
uint8_t GetMaxContentionRangingRetries(void) const
Ptr< WimaxConnection > GetPrimaryConnection(void) const
returns the primary connection currently usde
HeaderType
this class implements the mac header type field.
bool GetAreServiceFlowsAllocated(void) const
EventId m_dcdWaitTimeoutEvent
Time GetIntervalT3(void) const
returns the ranging Response reception timeout following the transmission of a ranging request ...