BaseStation NetDevice. More...
#include "bs-net-device.h"
Public Member Functions | |
BaseStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy) | |
Constructor. More... | |
BaseStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy, Ptr< UplinkScheduler > uplinkScheduler, Ptr< BSScheduler > bsScheduler) | |
Constructor. More... | |
BaseStationNetDevice (void) | |
~BaseStationNetDevice (void) | |
bool | Enqueue (Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection) |
Enqueue a packet into a connection queue. More... | |
Ptr< IpcsClassifier > | GetBsClassifier (void) const |
Ptr< BSScheduler > | GetBSScheduler (void) const |
uint8_t | GetBwReqOppSize (void) const |
Ptr< WimaxConnection > | GetConnection (Cid cid) |
Time | GetDcdInterval (void) const |
Time | GetDlSubframeStartTime (void) const |
Time | GetInitialRangingInterval (void) const |
Time | GetIntervalT8 (void) const |
Ptr< BSLinkManager > | GetLinkManager (void) const |
uint8_t | GetMaxInvitedRangRetries (void) const |
uint8_t | GetMaxRangingCorrectionRetries (void) const |
uint32_t | GetNrDcdSent (void) const |
uint32_t | GetNrDlSymbols (void) const |
uint32_t | GetNrUcdSent (void) const |
uint32_t | GetNrUlSymbols (void) const |
Time | GetPsDuration (void) const |
uint8_t | GetRangingOppNumber (void) const |
uint8_t | GetRangReqOppSize (void) const |
Ptr< BsServiceFlowManager > | GetServiceFlowManager (void) const |
Ptr< SSManager > | GetSSManager (void) const |
Time | GetSymbolDuration (void) const |
Time | GetUcdInterval (void) const |
Time | GetUlSubframeStartTime (void) const |
Ptr< UplinkScheduler > | GetUplinkScheduler (void) const |
void | InitBaseStationNetDevice (void) |
initializes the BS net device and sets its parameters to the default values More... | |
void | MarkRangingOppStart (Time rangingOppStartTime) |
Mark ranging opp start. More... | |
void | MarkUplinkAllocations (void) |
Mark uplink allocations. More... | |
void | SetBsClassifier (Ptr< IpcsClassifier > classifier) |
void | SetBSScheduler (Ptr< BSScheduler > bsSchedule) |
void | SetBwReqOppSize (uint8_t bwReqOppSize) |
void | SetDcdInterval (Time dcdInterval) |
void | SetInitialRangingInterval (Time initialRangInterval) |
void | SetIntervalT8 (Time interval) |
void | SetLinkManager (Ptr< BSLinkManager > linkManager) |
void | SetMaxInvitedRangRetries (uint8_t maxInvitedRangRetries) |
void | SetMaxRangingCorrectionRetries (uint8_t maxRangCorrectionRetries) |
void | SetNrDlSymbols (uint32_t dlSymbols) |
void | SetNrUlSymbols (uint32_t ulSymbols) |
void | SetRangReqOppSize (uint8_t rangReqOppSize) |
void | SetServiceFlowManager (Ptr< BsServiceFlowManager > sfm) |
Set service flow manager. More... | |
void | SetSSManager (Ptr< SSManager > ssManager) |
void | SetUcdInterval (Time ucdInterval) |
void | SetUplinkScheduler (Ptr< UplinkScheduler > ulScheduler) |
void | Start (void) |
Start device. More... | |
void | Stop (void) |
Stop device. More... | |
Public Member Functions inherited from ns3::WimaxNetDevice | |
WimaxNetDevice (void) | |
virtual | ~WimaxNetDevice (void) |
virtual void | AddLinkChangeCallback (Callback< void > callback) |
Add link change callback function. More... | |
void | Attach (Ptr< WimaxChannel > channel) |
Attach device to channel. More... | |
void | CreateDefaultConnections (void) |
Creates the initial ranging and broadcast connections. More... | |
void | ForwardDown (Ptr< PacketBurst > burst, WimaxPhy::ModulationType modulationType) |
Forward a packet down the stack. More... | |
void | ForwardUp (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest) |
Forward a packet to the next layer above the device. More... | |
virtual Address | GetAddress (void) const |
Get address of the device. More... | |
Ptr< BandwidthManager > | GetBandwidthManager (void) const |
Get the bandwidth manager on the device. More... | |
virtual Address | GetBroadcast (void) const |
Get broadcast address. More... | |
Ptr< WimaxConnection > | GetBroadcastConnection (void) const |
Get the broadcast connection. More... | |
Ptr< BurstProfileManager > | GetBurstProfileManager (void) const |
Get the burst profile manager. More... | |
uint64_t | GetChannel (uint8_t index) const |
Get the channel object by index. More... | |
virtual Ptr< Channel > | GetChannel (void) const |
Get the channel. More... | |
Ptr< ConnectionManager > | GetConnectionManager (void) const |
Get the connection manager of the device. More... | |
Dcd | GetCurrentDcd (void) const |
Get the current DCD. More... | |
Ucd | GetCurrentUcd (void) const |
Get the current UCD. More... | |
virtual uint32_t | GetIfIndex (void) const |
Get interface index. More... | |
Ptr< WimaxConnection > | GetInitialRangingConnection (void) const |
Get the initial ranging connection. More... | |
Mac48Address | GetMacAddress (void) const |
Get the MAC address. More... | |
virtual uint16_t | GetMtu (void) const |
Get MTU of the device. More... | |
virtual Address | GetMulticast (Ipv4Address multicastGroup) const |
Make and return a MAC multicast address using the provided multicast group. More... | |
virtual Address | GetMulticast (Ipv6Address addr) const |
Get the MAC multicast address corresponding to the IPv6 address provided. More... | |
virtual Address | GetMulticast (void) const |
Get multicast address. More... | |
virtual std::string | GetName (void) const |
Get device name. More... | |
virtual Ptr< Node > | GetNode (void) const |
Get node pointer. More... | |
uint32_t | GetNrFrames (void) const |
Get the number of frames. More... | |
Ptr< WimaxPhy > | GetPhy (void) const |
Get the physical layer object. More... | |
virtual Ptr< Channel > | GetPhyChannel (void) const |
Get the channel (this method is redundant with GetChannel()) More... | |
NetDevice::PromiscReceiveCallback | GetPromiscReceiveCallback (void) |
Get promiscious receive callback function. More... | |
uint16_t | GetRtg (void) const |
Get receive/transmit transition gap. More... | |
uint8_t | GetState (void) const |
Get the device state. More... | |
uint16_t | GetTtg (void) const |
Get transmission/receive transition gap. More... | |
virtual bool | IsBridge (void) const |
Return true if the net device is acting as a bridge. More... | |
virtual bool | IsBroadcast (void) const |
Check if broadcast enabled. More... | |
virtual bool | IsLinkUp (void) const |
Check if link is up. More... | |
virtual bool | IsMulticast (void) const |
Check if multicast enabled. More... | |
virtual bool | IsPointToPoint (void) const |
Check if device is a point-to-point device. More... | |
bool | IsPromisc (void) |
Check if device is promiscious. More... | |
virtual Address | MakeMulticastAddress (Ipv4Address multicastGroup) const |
Make multicast address. More... | |
virtual bool | NeedsArp (void) const |
Check if device needs ARP. More... | |
void | NotifyPromiscTrace (Ptr< Packet > p) |
Notify promiscious trace of a packet arrival. More... | |
virtual bool | Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber) |
Send function. More... | |
virtual bool | SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber) |
Send a packet. More... | |
virtual void | SetAddress (Address address) |
Set address of the device. More... | |
void | SetBandwidthManager (Ptr< BandwidthManager > bandwidthManager) |
Set the bandwidth manager on the device. More... | |
void | SetBurstProfileManager (Ptr< BurstProfileManager > burstProfileManager) |
Set the burst profile manager. More... | |
void | SetChannel (Ptr< WimaxChannel > wimaxChannel) |
Set the channel object. More... | |
virtual void | SetConnectionManager (Ptr< ConnectionManager > connectionManager) |
Set the connection manager of the device. More... | |
void | SetCurrentDcd (Dcd dcd) |
Set the current DCD. More... | |
void | SetCurrentUcd (Ucd ucd) |
Set the current UCD. More... | |
virtual void | SetIfIndex (const uint32_t index) |
Set interface index. More... | |
virtual void | SetLinkChangeCallback (Callback< void > callback) |
Set link change callback function. More... | |
void | SetMacAddress (Mac48Address address) |
Set the MAC address. More... | |
virtual bool | SetMtu (const uint16_t mtu) |
Set MTU value for the device. More... | |
virtual void | SetName (const std::string name) |
Set device name. More... | |
virtual void | SetNode (Ptr< Node > node) |
Set node pointer. More... | |
void | SetNrFrames (uint32_t nrFrames) |
Set the number of frames. More... | |
void | SetPhy (Ptr< WimaxPhy > phy) |
Set the physical layer object. More... | |
virtual void | SetPromiscReceiveCallback (PromiscReceiveCallback cb) |
Set promiscious receive callback function. More... | |
virtual void | SetReceiveCallback (NetDevice::ReceiveCallback cb) |
Set receive callback function. More... | |
void | SetReceiveCallback (void) |
Set receive callback function. More... | |
void | SetRtg (uint16_t rtg) |
Set receive/transmit transition gap. More... | |
void | SetState (uint8_t state) |
Set the device state. More... | |
void | SetTtg (uint16_t ttg) |
Set transmission/receive transition gap. More... | |
virtual bool | SupportsSendFrom (void) const |
Check if device supports the SendFrom method. More... | |
Public Member Functions inherited from ns3::NetDevice | |
virtual | ~NetDevice () |
Public Member Functions inherited from ns3::Object | |
Object () | |
Constructor. More... | |
virtual | ~Object () |
Destructor. More... | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. More... | |
void | Dispose (void) |
Dispose of this Object. More... | |
AggregateIterator | GetAggregateIterator (void) const |
Get an iterator to the Objects aggregated to this one. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Get the most derived TypeId for this Object. More... | |
template<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. More... | |
template<> | |
Ptr< Object > | GetObject (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (void) const |
Get a pointer to the requested aggregated Object. More... | |
void | Initialize (void) |
Invoke DoInitialize on all Objects aggregated to this one. More... | |
bool | IsInitialized (void) const |
Check if the object has been initialized. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= ([[maybe_unused]] const SimpleRefCount &o) |
Assignment operator. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising erros. More... | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. More... | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. More... | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. More... | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. More... | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. More... | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::WimaxNetDevice | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::NetDevice | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Member Functions | |
Ptr< Packet > | CreateDcd (void) |
Create DCD. More... | |
void | CreateDescriptorMessages (bool sendDcd, bool sendUcd) |
creates the channel descriptor MAC management messages DCD and UCD More... | |
Ptr< Packet > | CreateDlMap (void) |
Create DL map. More... | |
void | CreateMapMessages (void) |
creates the MAC management messages DL-MAP and UL-MAP More... | |
Ptr< Packet > | CreateUcd (void) |
Create UCD. More... | |
Ptr< Packet > | CreateUlMap (void) |
Create UL map. More... | |
virtual void | DoDispose (void) |
Destructor implementation. More... | |
void | DoReceive (Ptr< Packet > packet) |
Receive packet. More... | |
bool | DoSend (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber) |
Send packet. More... | |
void | EndDlSubFrame (void) |
End DL subframe function. More... | |
void | EndFrame (void) |
End frame function. More... | |
void | EndUlSubFrame (void) |
End UL subframe function. More... | |
void | MarkUplinkAllocationEnd (Time allocationEndTime, Cid cid, uint8_t uiuc) |
Mark uplink allocation end. More... | |
void | MarkUplinkAllocationStart (Time allocationStartTime) |
Mark uplink allocation start. More... | |
void | RangingOppStart (void) |
Ranging opp start. More... | |
void | SendBursts (void) |
Send burst function. More... | |
void | SetDlBurstProfiles (Dcd *dcd) |
Send DL burst profiles. More... | |
void | SetUlBurstProfiles (Ucd *ucd) |
Send UL burst profiles. More... | |
void | StartDlSubFrame (void) |
Start DL subframe function. More... | |
void | StartFrame (void) |
Start frame function. More... | |
void | StartUlSubFrame (void) |
Start UL subframe function. More... | |
void | UplinkAllocationEnd (Cid cid, uint8_t uiuc) |
Uplink allocation end. More... | |
void | UplinkAllocationStart (void) |
Uplink allocation start. More... | |
Private Attributes | |
uint32_t | m_allocationStartTime |
allocation start time More... | |
Ptr< IpcsClassifier > | m_bsClassifier |
the base station classifier More... | |
TracedCallback< Ptr< const Packet > > | m_bsPromiscRxTrace |
The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition). More... | |
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 during reception. More... | |
TracedCallback< Ptr< const Packet > > | m_bsRxTrace |
The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition). More... | |
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 during transmission. More... | |
TracedCallback< Ptr< const Packet > > | m_bsTxTrace |
The trace source fired when packets come into the "top" of the device at the L3/L2 transition, before being queued for transmission. More... | |
uint8_t | m_bwReqOppSize |
in symbols More... | |
CidFactory * | m_cidFactory |
the CID factory More... | |
uint32_t | m_dcdConfigChangeCount |
DCD config change count. More... | |
Time | m_dcdInterval |
in seconds More... | |
Time | m_dlSubframeStartTime |
DL subframe start time. More... | |
uint32_t | m_framesSinceLastDcd |
frames since last DCD More... | |
uint32_t | m_framesSinceLastUcd |
frames since last UCD More... | |
Time | m_initialRangInterval |
in seconds More... | |
Time | m_intervalT8 |
in milliseconds, wait for DSA/DSC Acknowledge timeout More... | |
Ptr< BSLinkManager > | m_linkManager |
the link manager More... | |
uint8_t | m_maxInvitedRangRetries |
maximum invited range retries More... | |
uint8_t | m_maxRangCorrectionRetries |
maximum range correction retries More... | |
uint32_t | m_nrDcdSent |
number DCD sent More... | |
uint16_t | m_nrDlAllocations |
number DL allocations More... | |
uint32_t | m_nrDlFrames |
number DL frames More... | |
uint32_t | m_nrDlMapSent |
number DL map sent More... | |
uint32_t | m_nrDlSymbols |
number of DL symbols More... | |
uint16_t | m_nrSsRegistered |
number SS registered More... | |
uint32_t | m_nrUcdSent |
number UCD sent More... | |
uint16_t | m_nrUlAllocations |
number UL allocations More... | |
uint32_t | m_nrUlFrames |
number UL frames More... | |
uint32_t | m_nrUlMapSent |
number UL map sent More... | |
uint32_t | m_nrUlSymbols |
number of UL symbols More... | |
Time | m_psDuration |
ps duration More... | |
uint8_t | m_rangingOppNumber |
current ranging TO number More... | |
uint8_t | m_rangReqOppSize |
in symbols More... | |
Ptr< BSScheduler > | m_scheduler |
the base station scheduler More... | |
Ptr< BsServiceFlowManager > | m_serviceFlowManager |
the service flow manager More... | |
Ptr< SSManager > | m_ssManager |
the SS manager More... | |
Time | m_symbolDuration |
symbol duration More... | |
TracedCallback< Ptr< const Packet >, Mac48Address, Cid > | m_traceBSRx |
the base station receive trace callback More... | |
uint32_t | m_ucdConfigChangeCount |
UCD config change count. More... | |
Time | m_ucdInterval |
in seconds More... | |
uint8_t | m_ulAllocationNumber |
to see UL burst number More... | |
Time | m_ulSubframeStartTime |
UL subframe start time. More... | |
Ptr< UplinkScheduler > | m_uplinkScheduler |
the uplink scheduler More... | |
Additional Inherited Members | |
Public Attributes inherited from ns3::WimaxNetDevice | |
TracedCallback< Ptr< const Packet >, const Mac48Address & > | m_traceRx |
TracedCallback< Ptr< const Packet >, const Mac48Address & > | m_traceTx |
Static Public Attributes inherited from ns3::WimaxNetDevice | |
static uint8_t | m_direction = ~0 |
downlink or uplink More... | |
static Time | m_frameStartTime = Seconds (0) |
temp, to determine the frame start time at SS side, shall actually be determined by frame start preamble More... | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
Copy an Object. More... | |
virtual void | DoInitialize (void) |
Initialize() implementation. More... | |
virtual void | NotifyNewAggregate (void) |
Notify all Objects aggregated to this one of a new Object being aggregated. More... | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted (void) |
Notifier called once the ObjectBase is fully constructed. More... | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
BaseStation NetDevice.
ns3::BaseStationNetDevice is accessible through the following paths with Config::Set and Config::Connect:
Size of this type is 760 bytes (on a 64-bit architecture).
Definition at line 52 of file bs-net-device.h.
MacPreamble enumeration.
Enumerator | |
---|---|
SHORT_PREAMBLE | |
LONG_PREAMBLE |
Definition at line 65 of file bs-net-device.h.
State enumeration.
Enumerator | |
---|---|
BS_STATE_DL_SUB_FRAME | |
BS_STATE_UL_SUB_FRAME | |
BS_STATE_TTG | |
BS_STATE_RTG |
Definition at line 56 of file bs-net-device.h.
ns3::BaseStationNetDevice::BaseStationNetDevice | ( | void | ) |
Definition at line 190 of file bs-net-device.cc.
References InitBaseStationNetDevice().
Constructor.
node | the node |
phy | the wimax phy |
Definition at line 237 of file bs-net-device.cc.
References InitBaseStationNetDevice(), ns3::WimaxNetDevice::SetNode(), and ns3::WimaxNetDevice::SetPhy().
ns3::BaseStationNetDevice::BaseStationNetDevice | ( | Ptr< Node > | node, |
Ptr< WimaxPhy > | phy, | ||
Ptr< UplinkScheduler > | uplinkScheduler, | ||
Ptr< BSScheduler > | bsScheduler | ||
) |
Constructor.
node | the node |
phy | the wimax phy |
uplinkScheduler | uplink scheduler |
bsScheduler | bs scheduler |
Definition at line 244 of file bs-net-device.cc.
References InitBaseStationNetDevice(), m_scheduler, m_uplinkScheduler, ns3::WimaxNetDevice::SetNode(), and ns3::WimaxNetDevice::SetPhy().
ns3::BaseStationNetDevice::~BaseStationNetDevice | ( | void | ) |
Definition at line 256 of file bs-net-device.cc.
Create DCD.
Definition at line 1036 of file bs-net-device.cc.
References ns3::Packet::AddHeader(), ns3::WimaxNetDevice::GetMacAddress(), ns3::WimaxNetDevice::GetNrFrames(), ns3::WimaxNetDevice::GetPhy(), ns3::WimaxNetDevice::GetRtg(), ns3::WimaxNetDevice::GetTtg(), m_dcdConfigChangeCount, ns3::ManagementMessageType::MESSAGE_TYPE_DCD, ns3::OfdmDcdChannelEncodings::SetBaseStationId(), ns3::DcdChannelEncodings::SetBsEirp(), ns3::Dcd::SetChannelEncodings(), ns3::OfdmDcdChannelEncodings::SetChannelNr(), ns3::Dcd::SetConfigurationChangeCount(), ns3::WimaxNetDevice::SetCurrentDcd(), SetDlBurstProfiles(), ns3::DcdChannelEncodings::SetEirxPIrMax(), ns3::OfdmDcdChannelEncodings::SetFrameDurationCode(), ns3::OfdmDcdChannelEncodings::SetFrameNumber(), ns3::DcdChannelEncodings::SetFrequency(), ns3::OfdmDcdChannelEncodings::SetRtg(), and ns3::OfdmDcdChannelEncodings::SetTtg().
Referenced by CreateDescriptorMessages().
|
private |
creates the channel descriptor MAC management messages DCD and UCD
sendDcd | true if send DCD |
sendUcd | true if send UCD |
Definition at line 925 of file bs-net-device.cc.
References CreateDcd(), CreateUcd(), Enqueue(), ns3::WimaxNetDevice::GetBroadcastConnection(), m_framesSinceLastDcd, m_framesSinceLastUcd, m_nrDcdSent, and m_nrUcdSent.
Referenced by CreateMapMessages().
Create DL map.
Definition at line 1001 of file bs-net-device.cc.
References ns3::DlMap::AddDlMapElement(), ns3::Packet::AddHeader(), ns3::OfdmDlBurstProfile::DIUC_END_OF_MAP, ns3::WimaxNetDevice::GetMacAddress(), ns3::Cid::InitialRanging(), list, m_dcdConfigChangeCount, m_nrDlAllocations, m_scheduler, ns3::ManagementMessageType::MESSAGE_TYPE_DL_MAP, ns3::DlMap::SetBaseStationId(), ns3::OfdmDlMapIe::SetCid(), ns3::DlMap::SetDcdCount(), ns3::OfdmDlMapIe::SetDiuc(), ns3::OfdmDlMapIe::SetPreamblePresent(), and ns3::OfdmDlMapIe::SetStartTime().
Referenced by CreateMapMessages().
|
private |
creates the MAC management messages DL-MAP and UL-MAP
Definition at line 881 of file bs-net-device.cc.
References CreateDescriptorMessages(), CreateDlMap(), CreateUlMap(), Enqueue(), ns3::WimaxNetDevice::GetBroadcastConnection(), m_dcdConfigChangeCount, m_nrDlMapSent, m_nrSsRegistered, m_nrUlMapSent, m_ssManager, m_ucdConfigChangeCount, and m_uplinkScheduler.
Referenced by StartDlSubFrame().
Create UCD.
Definition at line 1090 of file bs-net-device.cc.
References ns3::Packet::AddHeader(), ns3::WimaxNetDevice::GetPhy(), m_bwReqOppSize, m_rangReqOppSize, m_ucdConfigChangeCount, ns3::ManagementMessageType::MESSAGE_TYPE_UCD, ns3::UcdChannelEncodings::SetBwReqOppSize(), ns3::Ucd::SetChannelEncodings(), ns3::Ucd::SetConfigurationChangeCount(), ns3::WimaxNetDevice::SetCurrentUcd(), ns3::UcdChannelEncodings::SetFrequency(), ns3::Ucd::SetRangingBackoffEnd(), ns3::Ucd::SetRangingBackoffStart(), ns3::UcdChannelEncodings::SetRangReqOppSize(), ns3::Ucd::SetRequestBackoffEnd(), ns3::Ucd::SetRequestBackoffStart(), ns3::OfdmUcdChannelEncodings::SetSbchnlFocContCodes(), ns3::OfdmUcdChannelEncodings::SetSbchnlReqRegionFullParams(), and SetUlBurstProfiles().
Referenced by CreateDescriptorMessages().
Create UL map.
Definition at line 1064 of file bs-net-device.cc.
References ns3::Packet::AddHeader(), ns3::UlMap::AddUlMapElement(), m_nrUlAllocations, m_rangingOppNumber, m_ucdConfigChangeCount, m_ulAllocationNumber, m_uplinkScheduler, ns3::ManagementMessageType::MESSAGE_TYPE_UL_MAP, ns3::UlMap::SetAllocationStartTime(), and ns3::UlMap::SetUcdCount().
Referenced by CreateMapMessages().
|
privatevirtual |
Destructor implementation.
This method is called by Dispose() or by the Object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.
It is safe to call GetObject() from within this method.
Reimplemented from ns3::WimaxNetDevice.
Definition at line 261 of file bs-net-device.cc.
References ns3::WimaxNetDevice::DoDispose(), m_bsClassifier, m_cidFactory, m_linkManager, m_scheduler, m_serviceFlowManager, m_ssManager, and m_uplinkScheduler.
Receive packet.
packet | to send |
Implements ns3::WimaxNetDevice.
Definition at line 676 of file bs-net-device.cc.
References ns3::Packet::AddAtEnd(), ns3::Packet::AddHeader(), ns3::Simulator::Cancel(), ns3::GenericMacHeader::check_hcs(), ns3::BandwidthRequestHeader::check_hcs(), ns3::Packet::Copy(), ns3::WimaxNetDevice::ForwardUp(), ns3::WimaxNetDevice::GetBandwidthManager(), ns3::GenericMacHeader::GetCid(), ns3::BandwidthRequestHeader::GetCid(), GetConnection(), ns3::WimaxNetDevice::GetConnectionManager(), ns3::FragmentationSubheader::GetFc(), ns3::GenericMacHeader::GetHt(), ns3::BandwidthRequestHeader::GetHt(), GetServiceFlowManager(), ns3::Packet::GetSize(), ns3::ManagementMessageType::GetType(), ns3::GenericMacHeader::GetType(), ns3::MacHeaderType::HEADER_TYPE_BANDWIDTH, ns3::MacHeaderType::HEADER_TYPE_GENERIC, ns3::CidFactory::IsBasic(), ns3::Cid::IsBroadcast(), ns3::Cid::IsInitialRanging(), ns3::CidFactory::IsPrimary(), list, m_bsRxDropTrace, m_bsRxTrace, m_cidFactory, m_linkManager, m_ssManager, m_traceBSRx, ns3::ManagementMessageType::MESSAGE_TYPE_DSA_ACK, ns3::ManagementMessageType::MESSAGE_TYPE_DSA_REQ, ns3::ManagementMessageType::MESSAGE_TYPE_DSA_RSP, ns3::ManagementMessageType::MESSAGE_TYPE_REG_REQ, ns3::ManagementMessageType::MESSAGE_TYPE_REG_RSP, ns3::ManagementMessageType::MESSAGE_TYPE_RNG_REQ, ns3::ManagementMessageType::MESSAGE_TYPE_RNG_RSP, NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_INFO, and ns3::Packet::RemoveHeader().
|
privatevirtual |
Send packet.
packet | to send |
source | MAC address |
dest | destination MAC address |
protocolNumber | protocol number |
Implements ns3::WimaxNetDevice.
Definition at line 610 of file bs-net-device.cc.
References Enqueue(), ns3::ServiceFlow::GetConnection(), ns3::ServiceFlow::GetIsEnabled(), GetServiceFlowManager(), ns3::Packet::GetSize(), m_bsClassifier, m_bsTxDropTrace, m_bsTxTrace, NS_LOG_INFO, ns3::ServiceFlow::SF_DIRECTION_DOWN, and ns3::ServiceFlow::SF_TYPE_ALL.
|
private |
End DL subframe function.
Definition at line 573 of file bs-net-device.cc.
References BS_STATE_TTG, ns3::Time::GetSeconds(), ns3::WimaxNetDevice::GetTtg(), m_nrDlFrames, m_psDuration, ns3::Simulator::Schedule(), ns3::Seconds(), ns3::WimaxNetDevice::SetState(), and StartUlSubFrame().
Referenced by StartDlSubFrame().
|
private |
End frame function.
Definition at line 604 of file bs-net-device.cc.
References StartFrame().
Referenced by EndUlSubFrame().
|
private |
End UL subframe function.
Definition at line 596 of file bs-net-device.cc.
References BS_STATE_RTG, EndFrame(), ns3::WimaxNetDevice::GetRtg(), ns3::Time::GetSeconds(), m_nrUlFrames, m_psDuration, ns3::Simulator::Schedule(), ns3::Seconds(), and ns3::WimaxNetDevice::SetState().
Referenced by StartUlSubFrame().
|
virtual |
Enqueue a packet into a connection queue.
packet | the packet to be enqueued |
hdrType | the mac header type to be appended to the packet |
connection | the connection to be used |
Implements ns3::WimaxNetDevice.
Definition at line 662 of file bs-net-device.cc.
References ns3::GenericMacHeader::GetSerializedSize(), ns3::Packet::GetSize(), NS_ASSERT_MSG, ns3::GenericMacHeader::SetCid(), and ns3::GenericMacHeader::SetLen().
Referenced by CreateDescriptorMessages(), CreateMapMessages(), and DoSend().
Ptr< IpcsClassifier > ns3::BaseStationNetDevice::GetBsClassifier | ( | void | ) | const |
Definition at line 285 of file bs-net-device.cc.
References m_bsClassifier.
Referenced by GetTypeId().
Ptr< BSScheduler > ns3::BaseStationNetDevice::GetBSScheduler | ( | void | ) | const |
Definition at line 494 of file bs-net-device.cc.
References m_scheduler.
Referenced by GetTypeId().
uint8_t ns3::BaseStationNetDevice::GetBwReqOppSize | ( | void | ) | const |
Definition at line 381 of file bs-net-device.cc.
References m_bwReqOppSize.
Referenced by GetTypeId().
Ptr< WimaxConnection > ns3::BaseStationNetDevice::GetConnection | ( | Cid | cid | ) |
cid | connection ID |
Definition at line 1150 of file bs-net-device.cc.
References ns3::WimaxNetDevice::GetBroadcastConnection(), ns3::WimaxNetDevice::GetConnectionManager(), ns3::WimaxNetDevice::GetInitialRangingConnection(), ns3::Cid::IsBroadcast(), ns3::Cid::IsInitialRanging(), and NS_ASSERT_MSG.
Referenced by DoReceive().
Time ns3::BaseStationNetDevice::GetDcdInterval | ( | void | ) | const |
Definition at line 309 of file bs-net-device.cc.
References m_dcdInterval.
Referenced by GetTypeId().
Time ns3::BaseStationNetDevice::GetDlSubframeStartTime | ( | void | ) | const |
Definition at line 423 of file bs-net-device.cc.
References m_dlSubframeStartTime.
Time ns3::BaseStationNetDevice::GetInitialRangingInterval | ( | void | ) | const |
Definition at line 297 of file bs-net-device.cc.
References m_initialRangInterval.
Referenced by GetTypeId().
Time ns3::BaseStationNetDevice::GetIntervalT8 | ( | void | ) | const |
Definition at line 333 of file bs-net-device.cc.
References m_intervalT8.
Referenced by GetTypeId().
Ptr< BSLinkManager > ns3::BaseStationNetDevice::GetLinkManager | ( | void | ) | const |
Definition at line 477 of file bs-net-device.cc.
References m_linkManager.
Referenced by GetTypeId().
uint8_t ns3::BaseStationNetDevice::GetMaxInvitedRangRetries | ( | void | ) | const |
Definition at line 357 of file bs-net-device.cc.
References m_maxInvitedRangRetries.
uint8_t ns3::BaseStationNetDevice::GetMaxRangingCorrectionRetries | ( | void | ) | const |
Definition at line 345 of file bs-net-device.cc.
References m_maxRangCorrectionRetries.
Referenced by GetTypeId().
uint32_t ns3::BaseStationNetDevice::GetNrDcdSent | ( | void | ) | const |
Definition at line 411 of file bs-net-device.cc.
References m_nrDcdSent.
uint32_t ns3::BaseStationNetDevice::GetNrDlSymbols | ( | void | ) | const |
Definition at line 393 of file bs-net-device.cc.
References m_nrDlSymbols.
uint32_t ns3::BaseStationNetDevice::GetNrUcdSent | ( | void | ) | const |
Definition at line 417 of file bs-net-device.cc.
References m_nrUcdSent.
uint32_t ns3::BaseStationNetDevice::GetNrUlSymbols | ( | void | ) | const |
Definition at line 405 of file bs-net-device.cc.
References m_nrUlSymbols.
Time ns3::BaseStationNetDevice::GetPsDuration | ( | void | ) | const |
uint8_t ns3::BaseStationNetDevice::GetRangingOppNumber | ( | void | ) | const |
Definition at line 435 of file bs-net-device.cc.
References m_rangingOppNumber.
uint8_t ns3::BaseStationNetDevice::GetRangReqOppSize | ( | void | ) | const |
Definition at line 369 of file bs-net-device.cc.
References m_rangReqOppSize.
Referenced by GetTypeId().
Ptr< BsServiceFlowManager > ns3::BaseStationNetDevice::GetServiceFlowManager | ( | void | ) | const |
Definition at line 453 of file bs-net-device.cc.
References m_serviceFlowManager.
Referenced by DoReceive(), DoSend(), and GetTypeId().
Definition at line 441 of file bs-net-device.cc.
References m_ssManager.
Referenced by GetTypeId().
Time ns3::BaseStationNetDevice::GetSymbolDuration | ( | void | ) | const |
Definition at line 506 of file bs-net-device.cc.
References m_symbolDuration.
|
static |
Get the type ID.
Definition at line 54 of file bs-net-device.cc.
References GetBsClassifier(), GetBSScheduler(), GetBwReqOppSize(), GetDcdInterval(), GetInitialRangingInterval(), GetIntervalT8(), GetLinkManager(), GetMaxRangingCorrectionRetries(), GetRangReqOppSize(), GetServiceFlowManager(), GetSSManager(), GetUcdInterval(), GetUplinkScheduler(), m_bsPromiscRxTrace, m_bsRxDropTrace, m_bsRxTrace, m_bsTxDropTrace, m_bsTxTrace, m_scheduler, ns3::MakePointerAccessor(), ns3::MakeTimeAccessor(), ns3::MakeTimeChecker(), ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), ns3::Seconds(), SetBsClassifier(), SetBSScheduler(), SetBwReqOppSize(), SetDcdInterval(), SetInitialRangingInterval(), SetIntervalT8(), SetLinkManager(), SetMaxRangingCorrectionRetries(), ns3::TypeId::SetParent(), SetRangReqOppSize(), SetServiceFlowManager(), SetSSManager(), SetUcdInterval(), and SetUplinkScheduler().
Time ns3::BaseStationNetDevice::GetUcdInterval | ( | void | ) | const |
Definition at line 321 of file bs-net-device.cc.
References m_ucdInterval.
Referenced by GetTypeId().
Time ns3::BaseStationNetDevice::GetUlSubframeStartTime | ( | void | ) | const |
Definition at line 429 of file bs-net-device.cc.
References m_ulSubframeStartTime.
Ptr< UplinkScheduler > ns3::BaseStationNetDevice::GetUplinkScheduler | ( | void | ) | const |
Definition at line 465 of file bs-net-device.cc.
References m_uplinkScheduler.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::InitBaseStationNetDevice | ( | void | ) |
initializes the BS net device and sets its parameters to the default values
Definition at line 196 of file bs-net-device.cc.
References m_allocationStartTime, m_bsClassifier, m_bwReqOppSize, m_cidFactory, m_dcdConfigChangeCount, m_dcdInterval, m_dlSubframeStartTime, m_framesSinceLastDcd, m_framesSinceLastUcd, m_initialRangInterval, m_intervalT8, m_linkManager, m_maxInvitedRangRetries, m_maxRangCorrectionRetries, m_nrDcdSent, m_nrDlAllocations, m_nrDlFrames, m_nrDlMapSent, m_nrDlSymbols, m_nrSsRegistered, m_nrUcdSent, m_nrUlAllocations, m_nrUlFrames, m_nrUlMapSent, m_nrUlSymbols, m_psDuration, m_rangingOppNumber, m_rangReqOppSize, m_serviceFlowManager, m_ssManager, m_symbolDuration, m_ucdConfigChangeCount, m_ucdInterval, m_ulAllocationNumber, m_ulSubframeStartTime, ns3::MilliSeconds(), and ns3::Seconds().
Referenced by BaseStationNetDevice().
void ns3::BaseStationNetDevice::MarkRangingOppStart | ( | Time | rangingOppStartTime | ) |
Mark ranging opp start.
rangingOppStartTime | start time |
Definition at line 1225 of file bs-net-device.cc.
References RangingOppStart(), and ns3::Simulator::Schedule().
|
private |
Mark uplink allocation end.
allocationEndTime | allocation end time |
cid | connection ID |
uiuc |
Definition at line 1198 of file bs-net-device.cc.
References ns3::Simulator::Schedule(), and UplinkAllocationEnd().
Referenced by MarkUplinkAllocations().
void ns3::BaseStationNetDevice::MarkUplinkAllocations | ( | void | ) |
Mark uplink allocations.
Definition at line 1171 of file bs-net-device.cc.
References ns3::OfdmUlMapIe::GetCid(), ns3::OfdmUlMapIe::GetDuration(), ns3::OfdmUlMapIe::GetStartTime(), ns3::OfdmUlMapIe::GetUiuc(), m_symbolDuration, m_uplinkScheduler, MarkUplinkAllocationEnd(), MarkUplinkAllocationStart(), and ns3::OfdmUlBurstProfile::UIUC_END_OF_MAP.
Referenced by StartUlSubFrame().
|
private |
Mark uplink allocation start.
allocationStartTime | allocation start time |
Definition at line 1192 of file bs-net-device.cc.
References ns3::Simulator::Schedule(), and UplinkAllocationStart().
Referenced by MarkUplinkAllocations().
|
private |
Ranging opp start.
Definition at line 1231 of file bs-net-device.cc.
References m_rangingOppNumber, ns3::Simulator::Now(), NS_LOG_DEBUG, and ns3::Time::S.
Referenced by MarkRangingOppStart().
|
private |
Send burst function.
Definition at line 959 of file bs-net-device.cc.
References ns3::WimaxNetDevice::DIRECTION_DOWNLINK, ns3::WimaxNetDevice::ForwardDown(), ns3::WimaxNetDevice::GetBroadcastConnection(), ns3::WimaxNetDevice::GetBurstProfileManager(), ns3::OfdmDlMapIe::GetCid(), ns3::OfdmDlMapIe::GetDiuc(), ns3::WimaxNetDevice::GetInitialRangingConnection(), ns3::WimaxNetDevice::GetPhy(), m_scheduler, m_serviceFlowManager, ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::Simulator::Schedule(), and ns3::Seconds().
Referenced by StartDlSubFrame().
void ns3::BaseStationNetDevice::SetBsClassifier | ( | Ptr< IpcsClassifier > | classifier | ) |
classifier | a classifier to be installed on the BS |
Definition at line 279 of file bs-net-device.cc.
References m_bsClassifier.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::SetBSScheduler | ( | Ptr< BSScheduler > | bsSchedule | ) |
bsSchedule | the downlink scheduler to be installed on the BS |
Definition at line 489 of file bs-net-device.cc.
References m_scheduler.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::SetBwReqOppSize | ( | uint8_t | bwReqOppSize | ) |
bwReqOppSize | The bandwidth request opportunity size in symbols |
Definition at line 375 of file bs-net-device.cc.
References m_bwReqOppSize.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::SetDcdInterval | ( | Time | dcdInterval | ) |
dcdInterval | Time between transmission of DCD messages |
Definition at line 303 of file bs-net-device.cc.
References m_dcdInterval.
Referenced by GetTypeId().
|
private |
Send DL burst profiles.
dcd | burst profile |
Definition at line 1120 of file bs-net-device.cc.
References ns3::Dcd::AddDlBurstProfile(), ns3::WimaxNetDevice::GetBurstProfileManager(), ns3::OfdmDlBurstProfile::SetDiuc(), ns3::OfdmDlBurstProfile::SetFecCodeType(), ns3::OfdmDlBurstProfile::SetLength(), and ns3::OfdmDlBurstProfile::SetType().
Referenced by CreateDcd().
void ns3::BaseStationNetDevice::SetInitialRangingInterval | ( | Time | initialRangInterval | ) |
initialRangInterval | Time between initial ranging regions assigned by the BS |
Definition at line 291 of file bs-net-device.cc.
References m_initialRangInterval.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::SetIntervalT8 | ( | Time | interval | ) |
interval | the Wait for DSA/DSC Acknowledge timeout |
Definition at line 327 of file bs-net-device.cc.
References m_intervalT8.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::SetLinkManager | ( | Ptr< BSLinkManager > | linkManager | ) |
linkManager | The link manager installed on the BS |
Definition at line 483 of file bs-net-device.cc.
References m_linkManager.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::SetMaxInvitedRangRetries | ( | uint8_t | maxInvitedRangRetries | ) |
maxInvitedRangRetries | the number of retries on contention Ranging |
Definition at line 351 of file bs-net-device.cc.
References m_maxInvitedRangRetries.
void ns3::BaseStationNetDevice::SetMaxRangingCorrectionRetries | ( | uint8_t | maxRangCorrectionRetries | ) |
maxRangCorrectionRetries | the number of retries on contention Ranging Requests |
Definition at line 339 of file bs-net-device.cc.
References m_maxRangCorrectionRetries.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::SetNrDlSymbols | ( | uint32_t | dlSymbols | ) |
dlSymbols | the number of symbols in the downlink sub-frame |
Definition at line 387 of file bs-net-device.cc.
References m_nrDlSymbols.
Referenced by StartFrame().
void ns3::BaseStationNetDevice::SetNrUlSymbols | ( | uint32_t | ulSymbols | ) |
ulSymbols | the number of symbols in the uplink sub-frame |
Definition at line 399 of file bs-net-device.cc.
References m_nrUlSymbols.
Referenced by StartFrame().
void ns3::BaseStationNetDevice::SetRangReqOppSize | ( | uint8_t | rangReqOppSize | ) |
rangReqOppSize | The ranging opportunity size in symbols |
Definition at line 363 of file bs-net-device.cc.
References m_rangReqOppSize.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::SetServiceFlowManager | ( | Ptr< BsServiceFlowManager > | sfm | ) |
Set service flow manager.
sfm | the service flow manager |
Definition at line 459 of file bs-net-device.cc.
References m_serviceFlowManager.
Referenced by GetTypeId().
ssManager | the SS manager to be installed on the BS |
Definition at line 447 of file bs-net-device.cc.
References m_ssManager.
Referenced by GetTypeId().
void ns3::BaseStationNetDevice::SetUcdInterval | ( | Time | ucdInterval | ) |
ucdInterval | the Time between transmission of UCD messages |
Definition at line 315 of file bs-net-device.cc.
References m_ucdInterval.
Referenced by GetTypeId().
|
private |
Send UL burst profiles.
ucd | burst profile |
Definition at line 1134 of file bs-net-device.cc.
References ns3::Ucd::AddUlBurstProfile(), ns3::WimaxNetDevice::GetBurstProfileManager(), ns3::OfdmUlBurstProfile::SetFecCodeType(), ns3::OfdmUlBurstProfile::SetLength(), ns3::OfdmUlBurstProfile::SetType(), and ns3::OfdmUlBurstProfile::SetUiuc().
Referenced by CreateUcd().
void ns3::BaseStationNetDevice::SetUplinkScheduler | ( | Ptr< UplinkScheduler > | ulScheduler | ) |
ulScheduler | the ulScheduler to be isnstalled on the BS |
Definition at line 471 of file bs-net-device.cc.
References m_uplinkScheduler.
Referenced by GetTypeId().
|
virtual |
Start device.
Implements ns3::WimaxNetDevice.
Definition at line 512 of file bs-net-device.cc.
References ns3::WimaxNetDevice::CreateDefaultConnections(), ns3::WimaxNetDevice::GetBandwidthManager(), ns3::WimaxNetDevice::GetConnectionManager(), ns3::WimaxNetDevice::GetPhy(), ns3::WimaxNetDevice::GetRtg(), ns3::WimaxNetDevice::GetTtg(), m_bwReqOppSize, m_cidFactory, m_linkManager, m_psDuration, m_symbolDuration, m_uplinkScheduler, ns3::Simulator::ScheduleNow(), ns3::WimaxNetDevice::SetReceiveCallback(), ns3::WimaxNetDevice::SetRtg(), ns3::WimaxNetDevice::SetTtg(), and StartFrame().
|
private |
Start DL subframe function.
Definition at line 554 of file bs-net-device.cc.
References ns3::Time::As(), BS_STATE_DL_SUB_FRAME, CreateMapMessages(), ns3::WimaxNetDevice::DIRECTION_DOWNLINK, EndDlSubFrame(), ns3::WimaxNetDevice::GetNrFrames(), ns3::Time::GetSeconds(), ns3::WimaxNetDevice::m_direction, m_dlSubframeStartTime, ns3::WimaxNetDevice::m_frameStartTime, m_nrDlSymbols, m_scheduler, m_symbolDuration, m_uplinkScheduler, ns3::Simulator::Now(), NS_LOG_DEBUG, ns3::Time::S, ns3::Simulator::Schedule(), ns3::Seconds(), SendBursts(), ns3::WimaxNetDevice::SetNrFrames(), and ns3::WimaxNetDevice::SetState().
Referenced by StartFrame().
|
private |
Start frame function.
Definition at line 539 of file bs-net-device.cc.
References ns3::WimaxNetDevice::GetNrFrames(), ns3::WimaxNetDevice::GetPhy(), ns3::WimaxNetDevice::GetRtg(), ns3::Time::GetSeconds(), ns3::WimaxNetDevice::GetTtg(), ns3::WimaxNetDevice::m_frameStartTime, m_psDuration, m_symbolDuration, ns3::Simulator::Now(), NS_LOG_INFO, SetNrDlSymbols(), SetNrUlSymbols(), and StartDlSubFrame().
Referenced by EndFrame(), and Start().
|
private |
Start UL subframe function.
Definition at line 581 of file bs-net-device.cc.
References ns3::Time::As(), BS_STATE_UL_SUB_FRAME, ns3::WimaxNetDevice::DIRECTION_UPLINK, EndUlSubFrame(), ns3::Time::GetSeconds(), ns3::WimaxNetDevice::m_direction, m_nrUlSymbols, m_symbolDuration, m_ulSubframeStartTime, MarkUplinkAllocations(), ns3::Simulator::Now(), NS_LOG_INFO, ns3::Time::S, ns3::Simulator::Schedule(), ns3::Seconds(), and ns3::WimaxNetDevice::SetState().
Referenced by EndDlSubFrame().
|
virtual |
|
private |
Uplink allocation end.
cid | connection ID |
uiuc |
Definition at line 1214 of file bs-net-device.cc.
References ns3::CidFactory::IsBasic(), m_cidFactory, m_linkManager, m_ulAllocationNumber, ns3::Simulator::Now(), NS_LOG_DEBUG, and ns3::Time::S.
Referenced by MarkUplinkAllocationEnd().
|
private |
Uplink allocation start.
Definition at line 1204 of file bs-net-device.cc.
References m_ulAllocationNumber, ns3::Simulator::Now(), NS_LOG_DEBUG, and ns3::Time::S.
Referenced by MarkUplinkAllocationStart().
|
private |
allocation start time
Definition at line 448 of file bs-net-device.h.
Referenced by InitBaseStationNetDevice().
|
private |
the base station classifier
Definition at line 454 of file bs-net-device.h.
Referenced by DoDispose(), DoSend(), GetBsClassifier(), InitBaseStationNetDevice(), and SetBsClassifier().
|
private |
The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition).
This is a promiscuous trace.
Definition at line 485 of file bs-net-device.h.
Referenced by GetTypeId().
|
private |
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during reception.
Definition at line 502 of file bs-net-device.h.
Referenced by DoReceive(), and GetTypeId().
|
private |
The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition).
This is a non- promiscuous trace.
Definition at line 494 of file bs-net-device.h.
Referenced by DoReceive(), and GetTypeId().
|
private |
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during transmission.
Definition at line 476 of file bs-net-device.h.
Referenced by DoSend(), and GetTypeId().
|
private |
The trace source fired when packets come into the "top" of the device at the L3/L2 transition, before being queued for transmission.
Definition at line 468 of file bs-net-device.h.
Referenced by DoSend(), and GetTypeId().
|
private |
in symbols
Definition at line 412 of file bs-net-device.h.
Referenced by CreateUcd(), GetBwReqOppSize(), InitBaseStationNetDevice(), SetBwReqOppSize(), and Start().
|
private |
the CID factory
Definition at line 446 of file bs-net-device.h.
Referenced by DoDispose(), DoReceive(), InitBaseStationNetDevice(), Start(), and UplinkAllocationEnd().
|
private |
DCD config change count.
Definition at line 424 of file bs-net-device.h.
Referenced by CreateDcd(), CreateDlMap(), CreateMapMessages(), and InitBaseStationNetDevice().
|
private |
in seconds
Definition at line 405 of file bs-net-device.h.
Referenced by GetDcdInterval(), InitBaseStationNetDevice(), and SetDcdInterval().
|
private |
DL subframe start time.
Definition at line 440 of file bs-net-device.h.
Referenced by GetDlSubframeStartTime(), InitBaseStationNetDevice(), and StartDlSubFrame().
|
private |
frames since last DCD
Definition at line 427 of file bs-net-device.h.
Referenced by CreateDescriptorMessages(), and InitBaseStationNetDevice().
|
private |
frames since last UCD
Definition at line 428 of file bs-net-device.h.
Referenced by CreateDescriptorMessages(), and InitBaseStationNetDevice().
|
private |
in seconds
Definition at line 404 of file bs-net-device.h.
Referenced by GetInitialRangingInterval(), InitBaseStationNetDevice(), and SetInitialRangingInterval().
|
private |
in milliseconds, wait for DSA/DSC Acknowledge timeout
Definition at line 407 of file bs-net-device.h.
Referenced by GetIntervalT8(), InitBaseStationNetDevice(), and SetIntervalT8().
|
private |
the link manager
Definition at line 453 of file bs-net-device.h.
Referenced by DoDispose(), DoReceive(), GetLinkManager(), InitBaseStationNetDevice(), SetLinkManager(), Start(), and UplinkAllocationEnd().
|
private |
maximum invited range retries
Definition at line 410 of file bs-net-device.h.
Referenced by GetMaxInvitedRangRetries(), InitBaseStationNetDevice(), and SetMaxInvitedRangRetries().
|
private |
maximum range correction retries
Definition at line 409 of file bs-net-device.h.
Referenced by GetMaxRangingCorrectionRetries(), InitBaseStationNetDevice(), and SetMaxRangingCorrectionRetries().
|
private |
number DCD sent
Definition at line 421 of file bs-net-device.h.
Referenced by CreateDescriptorMessages(), GetNrDcdSent(), and InitBaseStationNetDevice().
|
private |
number DL allocations
Definition at line 437 of file bs-net-device.h.
Referenced by CreateDlMap(), and InitBaseStationNetDevice().
|
private |
number DL frames
Definition at line 431 of file bs-net-device.h.
Referenced by EndDlSubFrame(), and InitBaseStationNetDevice().
|
private |
number DL map sent
Definition at line 418 of file bs-net-device.h.
Referenced by CreateMapMessages(), and InitBaseStationNetDevice().
|
private |
number of DL symbols
Definition at line 414 of file bs-net-device.h.
Referenced by GetNrDlSymbols(), InitBaseStationNetDevice(), SetNrDlSymbols(), and StartDlSubFrame().
|
private |
number SS registered
Definition at line 435 of file bs-net-device.h.
Referenced by CreateMapMessages(), and InitBaseStationNetDevice().
|
private |
number UCD sent
Definition at line 422 of file bs-net-device.h.
Referenced by CreateDescriptorMessages(), GetNrUcdSent(), and InitBaseStationNetDevice().
|
private |
number UL allocations
Definition at line 438 of file bs-net-device.h.
Referenced by CreateUlMap(), and InitBaseStationNetDevice().
|
private |
number UL frames
Definition at line 432 of file bs-net-device.h.
Referenced by EndUlSubFrame(), and InitBaseStationNetDevice().
|
private |
number UL map sent
Definition at line 419 of file bs-net-device.h.
Referenced by CreateMapMessages(), and InitBaseStationNetDevice().
|
private |
number of UL symbols
Definition at line 415 of file bs-net-device.h.
Referenced by GetNrUlSymbols(), InitBaseStationNetDevice(), SetNrUlSymbols(), and StartUlSubFrame().
|
private |
ps duration
Definition at line 457 of file bs-net-device.h.
Referenced by EndDlSubFrame(), EndUlSubFrame(), GetPsDuration(), InitBaseStationNetDevice(), Start(), and StartFrame().
|
private |
current ranging TO number
Definition at line 444 of file bs-net-device.h.
Referenced by CreateUlMap(), GetRangingOppNumber(), InitBaseStationNetDevice(), and RangingOppStart().
|
private |
in symbols
Definition at line 411 of file bs-net-device.h.
Referenced by CreateUcd(), GetRangReqOppSize(), InitBaseStationNetDevice(), and SetRangReqOppSize().
|
private |
the base station scheduler
Definition at line 452 of file bs-net-device.h.
Referenced by BaseStationNetDevice(), CreateDlMap(), DoDispose(), GetBSScheduler(), GetTypeId(), SendBursts(), SetBSScheduler(), and StartDlSubFrame().
|
private |
the service flow manager
Definition at line 455 of file bs-net-device.h.
Referenced by DoDispose(), GetServiceFlowManager(), InitBaseStationNetDevice(), SendBursts(), and SetServiceFlowManager().
the SS manager
Definition at line 450 of file bs-net-device.h.
Referenced by CreateMapMessages(), DoDispose(), DoReceive(), GetSSManager(), InitBaseStationNetDevice(), and SetSSManager().
|
private |
symbol duration
Definition at line 458 of file bs-net-device.h.
Referenced by GetSymbolDuration(), InitBaseStationNetDevice(), MarkUplinkAllocations(), Start(), StartDlSubFrame(), StartFrame(), and StartUlSubFrame().
|
private |
the base station receive trace callback
Definition at line 460 of file bs-net-device.h.
Referenced by DoReceive().
|
private |
UCD config change count.
Definition at line 425 of file bs-net-device.h.
Referenced by CreateMapMessages(), CreateUcd(), CreateUlMap(), and InitBaseStationNetDevice().
|
private |
in seconds
Definition at line 406 of file bs-net-device.h.
Referenced by GetUcdInterval(), InitBaseStationNetDevice(), and SetUcdInterval().
|
private |
to see UL burst number
Definition at line 443 of file bs-net-device.h.
Referenced by CreateUlMap(), InitBaseStationNetDevice(), UplinkAllocationEnd(), and UplinkAllocationStart().
|
private |
UL subframe start time.
Definition at line 441 of file bs-net-device.h.
Referenced by GetUlSubframeStartTime(), InitBaseStationNetDevice(), and StartUlSubFrame().
|
private |
the uplink scheduler
Definition at line 451 of file bs-net-device.h.
Referenced by BaseStationNetDevice(), CreateMapMessages(), CreateUlMap(), DoDispose(), GetUplinkScheduler(), MarkUplinkAllocations(), SetUplinkScheduler(), Start(), and StartDlSubFrame().