#include "ss-net-device.h"
Public Member Functions | |
SubscriberStationNetDevice (void) | |
SubscriberStationNetDevice (Ptr< Node >, Ptr< WimaxPhy >) | |
~SubscriberStationNetDevice (void) | |
void | AddServiceFlow (ServiceFlow *sf) |
adds a new service flow More... | |
void | AddServiceFlow (ServiceFlow sf) |
adds a new service flow More... | |
bool | Enqueue (Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection) |
Enqueue a packet into a connection queue. More... | |
bool | GetAreManagementConnectionsAllocated (void) const |
bool | GetAreServiceFlowsAllocated (void) const |
Cid | GetBasicCid (void) const |
Ptr< WimaxConnection > | GetBasicConnection (void) const |
Time | GetIntervalT1 (void) const |
returns the wait for DCD timeout More... | |
Time | GetIntervalT12 (void) const |
returns the wait for UCD descriptor timeout More... | |
Time | GetIntervalT2 (void) const |
returns the wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity More... | |
Time | GetIntervalT20 (void) const |
returns the Time the SS searches for preambles on a given channel More... | |
Time | GetIntervalT21 (void) const |
returns the time the SS searches for (decodable) DL-MAP on a given channel More... | |
Time | GetIntervalT3 (void) const |
returns the ranging Response reception timeout following the transmission of a ranging request More... | |
Time | GetIntervalT7 (void) const |
returns the wait for DSA/DSC/DSD Response timeout More... | |
Ptr< IpcsClassifier > | GetIpcsClassifier () const |
Ptr< SSLinkManager > | GetLinkManager (void) const |
Time | GetLostDlMapInterval (void) const |
Time | GetLostUlMapInterval (void) const |
returns the time since last received UL-MAP before uplink synchronization is considered lost More... | |
uint8_t | GetMaxContentionRangingRetries (void) const |
Time | GetMaxDcdInterval (void) const |
returns the maximum time between transmission of DCD messages More... | |
Time | GetMaxUcdInterval (void) const |
returns the maximum time between transmission of UCD messages More... | |
WimaxPhy::ModulationType | GetModulationType (void) const |
returns the most efficient modulation and coding scheme (MCS) supported by the device More... | |
Cid | GetPrimaryCid (void) const |
Ptr< WimaxConnection > | GetPrimaryConnection (void) const |
returns the primary connection currently usde More... | |
Ptr< SSScheduler > | GetScheduler (void) const |
Ptr< SsServiceFlowManager > | GetServiceFlowManager (void) const |
Time | GetTimeToAllocation (Time defferTime) |
bool | HasServiceFlows (void) const |
void | InitSubscriberStationNetDevice (void) |
initializes the net device and sets the parameters to the default values More... | |
bool | IsRegistered (void) const |
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. More... | |
void | SetAreManagementConnectionsAllocated (bool areManagementConnectionsAllocated) |
void | SetAreServiceFlowsAllocated (bool areServiceFlowsAllocated) |
void | SetBasicConnection (Ptr< WimaxConnection > basicConnection) |
void | SetIntervalT1 (Time interval1) |
void | SetIntervalT12 (Time interval12) |
void | SetIntervalT2 (Time interval2) |
void | SetIntervalT20 (Time interval20) |
void | SetIntervalT21 (Time interval21) |
void | SetIntervalT3 (Time interval3) |
void | SetIntervalT7 (Time interval7) |
void | SetIpcsPacketClassifier (Ptr< IpcsClassifier >) |
Sets the packet classifier to be used. More... | |
void | SetLinkManager (Ptr< SSLinkManager >) |
sets the link manager to be used More... | |
void | SetLostDlMapInterval (Time lostDlMapInterval) |
void | SetLostUlMapInterval (Time lostUlMapInterval) |
void | SetMaxContentionRangingRetries (uint8_t maxContentionRangingRetries) |
void | SetMaxDcdInterval (Time maxDcdInterval) |
void | SetMaxUcdInterval (Time maxUcdInterval) |
void | SetModulationType (WimaxPhy::ModulationType modulationType) |
Set the most efficient modulation and coding scheme (MCS) supported by the device. More... | |
void | SetPrimaryConnection (Ptr< WimaxConnection > primaryConnection) |
void | SetScheduler (Ptr< SSScheduler > ssScheduler) |
void | SetServiceFlowManager (Ptr< SsServiceFlowManager >) |
Sets the service flow manager to be installed on the device. More... | |
void | SetTimer (EventId eventId, EventId &event) |
void | Start (void) |
void | Stop (void) |
![]() | |
WimaxNetDevice (void) | |
virtual | ~WimaxNetDevice (void) |
virtual void | AddLinkChangeCallback (Callback< void > callback) |
void | Attach (Ptr< WimaxChannel > channel) |
void | CreateDefaultConnections (void) |
Creates the initial ranging and broadcast connections. More... | |
void | ForwardDown (Ptr< PacketBurst > burst, WimaxPhy::ModulationType modulationType) |
void | ForwardUp (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest) |
virtual Address | GetAddress (void) const |
Ptr< BandwidthManager > | GetBandwidthManager (void) const |
virtual Address | GetBroadcast (void) const |
Ptr< WimaxConnection > | GetBroadcastConnection (void) const |
Ptr< BurstProfileManager > | GetBurstProfileManager (void) const |
uint64_t | GetChannel (uint8_t index) const |
virtual Ptr< Channel > | GetChannel (void) const |
Ptr< ConnectionManager > | GetConnectionManager (void) const |
Dcd | GetCurrentDcd (void) const |
Ucd | GetCurrentUcd (void) const |
virtual uint32_t | GetIfIndex (void) const |
Ptr< WimaxConnection > | GetInitialRangingConnection (void) const |
Mac48Address | GetMacAddress (void) const |
virtual uint16_t | GetMtu (void) const |
virtual Address | GetMulticast (void) const |
virtual Address | GetMulticast (Ipv6Address addr) const |
Get the MAC multicast address corresponding to the IPv6 address provided. More... | |
virtual Address | GetMulticast (Ipv4Address multicastGroup) const |
Make and return a MAC multicast address using the provided multicast group. More... | |
virtual std::string | GetName (void) const |
virtual Ptr< Node > | GetNode (void) const |
uint32_t | GetNrFrames (void) const |
Ptr< WimaxPhy > | GetPhy (void) const |
virtual Ptr< Channel > | GetPhyChannel (void) const |
NetDevice::PromiscReceiveCallback | GetPromiscReceiveCallback (void) |
uint16_t | GetRtg (void) const |
uint8_t | GetState (void) const |
uint16_t | GetTtg (void) const |
virtual bool | IsBridge (void) const |
Return true if the net device is acting as a bridge. More... | |
virtual bool | IsBroadcast (void) const |
virtual bool | IsLinkUp (void) const |
virtual bool | IsMulticast (void) const |
virtual bool | IsPointToPoint (void) const |
Return true if the net device is on a point-to-point link. More... | |
bool | IsPromisc (void) |
virtual Address | MakeMulticastAddress (Ipv4Address multicastGroup) const |
virtual bool | NeedsArp (void) const |
void | NotifyPromiscTrace (Ptr< Packet > p) |
virtual bool | Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber) |
virtual bool | SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber) |
virtual void | SetAddress (Address address) |
Set the address of this interface. More... | |
void | SetBandwidthManager (Ptr< BandwidthManager > bandwidthManager) |
void | SetBurstProfileManager (Ptr< BurstProfileManager > burstProfileManager) |
void | SetChannel (Ptr< WimaxChannel > wimaxChannel) |
virtual void | SetConnectionManager (Ptr< ConnectionManager > connectionManager) |
void | SetCurrentDcd (Dcd dcd) |
void | SetCurrentUcd (Ucd ucd) |
virtual void | SetIfIndex (const uint32_t index) |
virtual void | SetLinkChangeCallback (Callback< void > callback) |
void | SetMacAddress (Mac48Address address) |
virtual bool | SetMtu (const uint16_t mtu) |
virtual void | SetName (const std::string name) |
virtual void | SetNode (Ptr< Node > node) |
void | SetNrFrames (uint32_t nrFrames) |
void | SetPhy (Ptr< WimaxPhy > phy) |
virtual void | SetPromiscReceiveCallback (PromiscReceiveCallback cb) |
void | SetReceiveCallback (void) |
virtual void | SetReceiveCallback (NetDevice::ReceiveCallback cb) |
void | SetRtg (uint16_t rtg) |
void | SetState (uint8_t state) |
void | SetTtg (uint16_t ttg) |
virtual bool | SupportsSendFrom (void) const |
![]() | |
virtual | ~NetDevice () |
![]() | |
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 |
Implement the GetInstanceTypeId method defined in ObjectBase. More... | |
template<typename T > | |
Ptr< T > | GetObject (void) const |
Get a pointer to the requested aggregated Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. More... | |
void | Initialize (void) |
Invoke DoInitialize on all Objects aggregated to this one. More... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
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) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Public Attributes | |
Ptr< SSLinkManager > | m_linkManager |
![]() | |
TracedCallback< Ptr< const Packet >, const Mac48Address & > | m_traceRx |
TracedCallback< Ptr< const Packet >, const Mac48Address & > | m_traceTx |
Private Member Functions | |
void | DoDispose (void) |
Destructor implementation. More... | |
void | DoReceive (Ptr< Packet > packet) |
bool | DoSend (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber) |
void | ProcessDcd (const Dcd &dcd) |
void | ProcessDlMap (const DlMap &dlmap) |
void | ProcessUcd (const Ucd &ucd) |
void | ProcessUlMap (const UlMap &ulmap) |
Static Private Member Functions | |
static Time | GetDefaultLostDlMapInterval () |
Additional Inherited Members | |
![]() | |
static uint8_t | m_direction = ~0 |
static Time | m_frameStartTime = Seconds (0) |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
ns3::SubscriberStationNetDevice is accessible through the following paths with Config::Set and Config::Connect:
Size of this type is 824 bytes (on a 64-bit architecture).
Definition at line 47 of file ss-net-device.h.
ns3::SubscriberStationNetDevice::SubscriberStationNetDevice | ( | void | ) |
Definition at line 211 of file ss-net-device.cc.
References InitSubscriberStationNetDevice().
ns3::SubscriberStationNetDevice::SubscriberStationNetDevice | ( | Ptr< Node > | node, |
Ptr< WimaxPhy > | phy | ||
) |
Definition at line 257 of file ss-net-device.cc.
References InitSubscriberStationNetDevice(), ns3::WimaxNetDevice::SetNode(), and ns3::WimaxNetDevice::SetPhy().
ns3::SubscriberStationNetDevice::~SubscriberStationNetDevice | ( | void | ) |
Definition at line 264 of file ss-net-device.cc.
void ns3::SubscriberStationNetDevice::AddServiceFlow | ( | ServiceFlow * | sf | ) |
adds a new service flow
Definition at line 583 of file ss-net-device.cc.
References GetServiceFlowManager().
void ns3::SubscriberStationNetDevice::AddServiceFlow | ( | ServiceFlow | sf | ) |
adds a new service flow
Definition at line 577 of file ss-net-device.cc.
References GetServiceFlowManager().
|
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 overriden 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 269 of file ss-net-device.cc.
References ns3::WimaxNetDevice::DoDispose(), m_basicConnection, m_classifier, m_dlBurstProfile, m_linkManager, m_primaryConnection, m_scheduler, m_serviceFlowManager, and m_ulBurstProfile.
Implements ns3::WimaxNetDevice.
Definition at line 741 of file ss-net-device.cc.
References ns3::Packet::AddAtEnd(), ns3::Simulator::Cancel(), ns3::GenericMacHeader::check_hcs(), EVENT_DCD_WAIT_TIMEOUT, EVENT_LOST_DL_MAP, EVENT_LOST_UL_MAP, EVENT_RANG_OPP_WAIT_TIMEOUT, EVENT_UCD_WAIT_TIMEOUT, ns3::WimaxNetDevice::ForwardUp(), ns3::WimaxNetDevice::GetBroadcastConnection(), ns3::GenericMacHeader::GetCid(), ns3::WimaxNetDevice::GetConnectionManager(), ns3::FragmentationSubheader::GetFc(), ns3::GenericMacHeader::GetHt(), ns3::WimaxNetDevice::GetInitialRangingConnection(), ns3::WimaxNetDevice::GetMacAddress(), ns3::ServiceFlow::GetRecord(), GetServiceFlowManager(), ns3::Packet::GetSize(), ns3::WimaxNetDevice::GetState(), ns3::ManagementMessageType::GetType(), ns3::GenericMacHeader::GetType(), ns3::MacHeaderType::HEADER_TYPE_GENERIC, ns3::Cid::IsMulticast(), ns3::WimaxNetDevice::IsPromisc(), ns3::EventId::IsRunning(), list, m_baseStationId, m_basicConnection, m_dcdWaitTimeoutEvent, m_intervalT1, m_intervalT12, m_intervalT2, m_linkManager, m_lostDlMapEvent, m_lostDlMapInterval, m_lostUlMapEvent, m_lostUlMapInterval, m_primaryConnection, m_rangOppWaitTimeoutEvent, m_ssPromiscRxTrace, m_ssRxDropTrace, m_ssRxTrace, m_traceSSRx, m_ucdWaitTimeoutEvent, ns3::ManagementMessageType::MESSAGE_TYPE_DCD, ns3::ManagementMessageType::MESSAGE_TYPE_DL_MAP, 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, ns3::ManagementMessageType::MESSAGE_TYPE_UCD, ns3::ManagementMessageType::MESSAGE_TYPE_UL_MAP, ns3::WimaxNetDevice::NotifyPromiscTrace(), NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_ERROR, NS_LOG_INFO, ProcessDcd(), ProcessDlMap(), ProcessUcd(), ProcessUlMap(), ns3::Packet::RemoveHeader(), ns3::Dcd::SetNrDlBurstProfiles(), ns3::Ucd::SetNrUlBurstProfiles(), ns3::WimaxNetDevice::SetState(), SS_STATE_ACQUIRING_PARAMETERS, SS_STATE_SYNCHRONIZING, SS_STATE_WAITING_REG_RANG_INTRVL, SS_STATE_WAITING_RNG_RSP, ns3::ServiceFlowRecord::UpdateBytesRcvd(), and ns3::ServiceFlowRecord::UpdatePktsRcvd().
|
privatevirtual |
Implements ns3::WimaxNetDevice.
Definition at line 589 of file ss-net-device.cc.
References Enqueue(), ns3::ServiceFlow::GetCid(), ns3::ServiceFlow::GetConnection(), ns3::ServiceFlow::GetIsEnabled(), ns3::WimaxNetDevice::GetMacAddress(), GetServiceFlowManager(), ns3::ServiceFlow::GetSfid(), ns3::Packet::GetSize(), IsRegistered(), m_basicConnection, m_classifier, m_ssTxDropTrace, m_ssTxTrace, NS_LOG_DEBUG, NS_LOG_INFO, ns3::ServiceFlow::SF_DIRECTION_UP, and ns3::ServiceFlow::SF_TYPE_ALL.
|
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 658 of file ss-net-device.cc.
References ns3::Packet::AddHeader(), ns3::GenericMacHeader::GetSerializedSize(), ns3::Packet::GetSize(), ns3::MacHeaderType::GetType(), ns3::MacHeaderType::HEADER_TYPE_BANDWIDTH, ns3::MacHeaderType::HEADER_TYPE_GENERIC, m_scheduler, NS_ASSERT_MSG, NS_LOG_INFO, ns3::GenericMacHeader::SetCid(), ns3::GenericMacHeader::SetLen(), ns3::GrantManagementSubheader::SetPm(), ns3::ServiceFlow::SF_TYPE_UGS, and ns3::Cid::TRANSPORT.
Referenced by DoSend().
bool ns3::SubscriberStationNetDevice::GetAreManagementConnectionsAllocated | ( | void | ) | const |
Definition at line 485 of file ss-net-device.cc.
References m_areManagementConnectionsAllocated.
bool ns3::SubscriberStationNetDevice::GetAreServiceFlowsAllocated | ( | void | ) | const |
Definition at line 497 of file ss-net-device.cc.
References m_areServiceFlowsAllocated.
Cid ns3::SubscriberStationNetDevice::GetBasicCid | ( | void | ) | const |
Ptr< WimaxConnection > ns3::SubscriberStationNetDevice::GetBasicConnection | ( | void | ) | const |
Definition at line 437 of file ss-net-device.cc.
References m_basicConnection.
|
staticprivate |
Definition at line 51 of file ss-net-device.cc.
References ns3::MicroSeconds().
Time ns3::SubscriberStationNetDevice::GetIntervalT1 | ( | void | ) | const |
returns the wait for DCD timeout
Definition at line 341 of file ss-net-device.cc.
References m_intervalT1.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT12 | ( | void | ) | const |
returns the wait for UCD descriptor timeout
Definition at line 389 of file ss-net-device.cc.
References m_intervalT12.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT2 | ( | void | ) | const |
returns the wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity
Definition at line 353 of file ss-net-device.cc.
References m_intervalT2.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT20 | ( | void | ) | const |
returns the Time the SS searches for preambles on a given channel
Definition at line 401 of file ss-net-device.cc.
References m_intervalT20.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT21 | ( | void | ) | const |
returns the time the SS searches for (decodable) DL-MAP on a given channel
Definition at line 413 of file ss-net-device.cc.
References m_intervalT21.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT3 | ( | void | ) | const |
returns the ranging Response reception timeout following the transmission of a ranging request
Definition at line 365 of file ss-net-device.cc.
References m_intervalT3.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT7 | ( | void | ) | const |
returns the wait for DSA/DSC/DSD Response timeout
Definition at line 377 of file ss-net-device.cc.
References m_intervalT7.
Referenced by GetTypeId().
Ptr< IpcsClassifier > ns3::SubscriberStationNetDevice::GetIpcsClassifier | ( | ) | const |
Definition at line 521 of file ss-net-device.cc.
References m_classifier.
Referenced by GetTypeId().
Ptr< SSLinkManager > ns3::SubscriberStationNetDevice::GetLinkManager | ( | void | ) | const |
Definition at line 534 of file ss-net-device.cc.
References m_linkManager.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetLostDlMapInterval | ( | void | ) | const |
Definition at line 293 of file ss-net-device.cc.
References m_lostDlMapInterval.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetLostUlMapInterval | ( | void | ) | const |
returns the time since last received UL-MAP before uplink synchronization is considered lost
Definition at line 305 of file ss-net-device.cc.
References m_lostUlMapInterval.
Referenced by GetTypeId().
uint8_t ns3::SubscriberStationNetDevice::GetMaxContentionRangingRetries | ( | void | ) | const |
Definition at line 425 of file ss-net-device.cc.
References m_maxContentionRangingRetries.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetMaxDcdInterval | ( | void | ) | const |
returns the maximum time between transmission of DCD messages
Definition at line 317 of file ss-net-device.cc.
References m_maxDcdInterval.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetMaxUcdInterval | ( | void | ) | const |
returns the maximum time between transmission of UCD messages
Definition at line 329 of file ss-net-device.cc.
References m_maxUcdInterval.
Referenced by GetTypeId().
WimaxPhy::ModulationType ns3::SubscriberStationNetDevice::GetModulationType | ( | void | ) | const |
returns the most efficient modulation and coding scheme (MCS) supported by the device
Definition at line 473 of file ss-net-device.cc.
References m_modulationType.
Referenced by ns3::BurstProfileManager::GetBurstProfileToRequest().
Cid ns3::SubscriberStationNetDevice::GetPrimaryCid | ( | void | ) | const |
Definition at line 461 of file ss-net-device.cc.
References m_primaryConnection.
Ptr< WimaxConnection > ns3::SubscriberStationNetDevice::GetPrimaryConnection | ( | void | ) | const |
returns the primary connection currently usde
Definition at line 449 of file ss-net-device.cc.
References m_primaryConnection.
Ptr< SSScheduler > ns3::SubscriberStationNetDevice::GetScheduler | ( | void | ) | const |
Definition at line 503 of file ss-net-device.cc.
References m_scheduler.
Referenced by GetTypeId().
Ptr< SsServiceFlowManager > ns3::SubscriberStationNetDevice::GetServiceFlowManager | ( | void | ) | const |
Definition at line 546 of file ss-net-device.cc.
References m_serviceFlowManager.
Referenced by AddServiceFlow(), DoReceive(), DoSend(), and HasServiceFlows().
Definition at line 1267 of file ss-net-device.cc.
References ns3::WimaxNetDevice::GetPhy(), m_allocationStartTime, ns3::WimaxNetDevice::m_frameStartTime, ns3::Simulator::Now(), and ns3::Seconds().
Referenced by ProcessUlMap().
|
static |
Definition at line 57 of file ss-net-device.cc.
References GetIntervalT1(), GetIntervalT12(), GetIntervalT2(), GetIntervalT20(), GetIntervalT21(), GetIntervalT3(), GetIntervalT7(), GetIpcsClassifier(), GetLinkManager(), GetLostDlMapInterval(), GetLostUlMapInterval(), GetMaxContentionRangingRetries(), GetMaxDcdInterval(), GetMaxUcdInterval(), GetScheduler(), m_basicConnection, m_primaryConnection, m_ssPromiscRxTrace, m_ssRxDropTrace, m_ssRxTrace, m_ssTxDropTrace, ns3::MakePointerAccessor(), ns3::MakeTimeAccessor(), ns3::MakeTimeChecker(), ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), ns3::MilliSeconds(), ns3::Seconds(), SetIntervalT1(), SetIntervalT12(), SetIntervalT2(), SetIntervalT20(), SetIntervalT21(), SetIntervalT3(), SetIntervalT7(), SetIpcsPacketClassifier(), SetLinkManager(), SetLostDlMapInterval(), SetLostUlMapInterval(), SetMaxContentionRangingRetries(), SetMaxDcdInterval(), SetMaxUcdInterval(), ns3::TypeId::SetParent(), and SetScheduler().
bool ns3::SubscriberStationNetDevice::HasServiceFlows | ( | void | ) | const |
Definition at line 515 of file ss-net-device.cc.
References GetServiceFlowManager(), and ns3::ServiceFlow::SF_TYPE_ALL.
void ns3::SubscriberStationNetDevice::InitSubscriberStationNetDevice | ( | void | ) |
initializes the net device and sets the parameters to the default values
Definition at line 219 of file ss-net-device.cc.
References ns3::Time::GetSeconds(), m_allocationStartTime, m_areManagementConnectionsAllocated, m_areServiceFlowsAllocated, m_baseStationId, m_basicConnection, m_classifier, m_dcdCount, m_dlBurstProfile, m_intervalT1, m_intervalT12, m_intervalT2, m_intervalT21, m_intervalT3, m_intervalT7, m_linkManager, m_lostDlMapInterval, m_lostUlMapInterval, m_maxContentionRangingRetries, m_maxDcdInterval, m_maxUcdInterval, m_modulationType, m_nrDcdRecvd, m_nrDlMapElements, m_nrDlMapRecvd, m_nrUcdRecvd, m_nrUlMapElements, m_nrUlMapRecvd, m_primaryConnection, m_scheduler, m_serviceFlowManager, m_ucdCount, m_ulBurstProfile, ns3::MilliSeconds(), ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, and ns3::Seconds().
Referenced by SubscriberStationNetDevice().
bool ns3::SubscriberStationNetDevice::IsRegistered | ( | void | ) | const |
Definition at line 1261 of file ss-net-device.cc.
References ns3::WimaxNetDevice::GetState(), and SS_STATE_REGISTERED.
Referenced by DoSend(), and SendBurst().
|
private |
Definition at line 1190 of file ss-net-device.cc.
References ns3::DcdChannelEncodings::GetBsEirp(), ns3::Dcd::GetChannelEncodings(), ns3::Dcd::GetConfigurationChangeCount(), ns3::WimaxNetDevice::GetCurrentDcd(), ns3::OfdmDlBurstProfile::GetDiuc(), ns3::Dcd::GetDlBurstProfiles(), ns3::DcdChannelEncodings::GetEirxPIrMax(), ns3::OfdmDlBurstProfile::GetFecCodeType(), ns3::OfdmDcdChannelEncodings::GetFrameDurationCode(), ns3::WimaxNetDevice::GetPhy(), m_dlBurstProfile, m_linkManager, m_modulationType, m_nrDcdRecvd, ns3::WimaxNetDevice::SetCurrentDcd(), ns3::OfdmDlBurstProfile::SetDiuc(), and ns3::OfdmDlBurstProfile::SetFecCodeType().
Referenced by DoReceive().
|
private |
Definition at line 1068 of file ss-net-device.cc.
References ns3::OfdmDlBurstProfile::DIUC_END_OF_MAP, ns3::DlMap::GetBaseStationId(), ns3::DlMap::GetDcdCount(), ns3::DlMap::GetDlMapElements(), m_baseStationId, m_basicConnection, m_dcdCount, and m_nrDlMapRecvd.
Referenced by DoReceive().
|
private |
Definition at line 1224 of file ss-net-device.cc.
References EVENT_NONE, ns3::Ucd::GetChannelEncodings(), ns3::Ucd::GetConfigurationChangeCount(), ns3::WimaxNetDevice::GetCurrentUcd(), ns3::OfdmUlBurstProfile::GetFecCodeType(), ns3::Ucd::GetRangingBackoffStart(), ns3::OfdmUlBurstProfile::GetUiuc(), ns3::Ucd::GetUlBurstProfiles(), m_linkManager, m_modulationType, m_nrUcdRecvd, m_ulBurstProfile, ns3::WimaxNetDevice::SetCurrentUcd(), ns3::OfdmUlBurstProfile::SetFecCodeType(), and ns3::OfdmUlBurstProfile::SetUiuc().
Referenced by DoReceive().
|
private |
Definition at line 1099 of file ss-net-device.cc.
References ns3::UlMap::GetAllocationStartTime(), ns3::WimaxNetDevice::GetBandwidthManager(), ns3::WimaxNetDevice::GetBroadcastConnection(), ns3::Ucd::GetChannelEncodings(), ns3::OfdmUlMapIe::GetCid(), ns3::WimaxNetDevice::GetCurrentUcd(), ns3::OfdmUlMapIe::GetDuration(), ns3::WimaxNetDevice::GetPhy(), ns3::UcdChannelEncodings::GetRangReqOppSize(), ns3::OfdmUlMapIe::GetStartTime(), ns3::WimaxNetDevice::GetState(), GetTimeToAllocation(), ns3::UlMap::GetUcdCount(), ns3::OfdmUlMapIe::GetUiuc(), ns3::UlMap::GetUlMapElements(), ns3::MacHeaderType::HEADER_TYPE_GENERIC, m_allocationStartTime, m_areManagementConnectionsAllocated, m_basicConnection, m_linkManager, m_nrUlMapRecvd, m_ucdCount, NS_ASSERT_MSG, ns3::Simulator::Schedule(), ns3::Seconds(), ns3::BandwidthManager::SendBandwidthRequest(), SendBurst(), ns3::SSLinkManager::SendRangingRequest(), SS_STATE_ADJUSTING_PARAMETERS, SS_STATE_WAITING_INV_RANG_INTRVL, SS_STATE_WAITING_REG_RANG_INTRVL, ns3::OfdmUlBurstProfile::UIUC_END_OF_MAP, ns3::OfdmUlBurstProfile::UIUC_INITIAL_RANGING, and ns3::OfdmUlBurstProfile::UIUC_REQ_REGION_FULL.
Referenced by DoReceive().
void ns3::SubscriberStationNetDevice::SendBurst | ( | uint8_t | uiuc, |
uint16_t | nrSymbols, | ||
Ptr< WimaxConnection > | connection, | ||
MacHeaderType::HeaderType | packetType = MacHeaderType::HEADER_TYPE_GENERIC |
||
) |
Sends a burst on the uplink frame.
Definition at line 691 of file ss-net-device.cc.
References ns3::WimaxNetDevice::DIRECTION_UPLINK, ns3::WimaxNetDevice::ForwardDown(), ns3::WimaxNetDevice::GetBurstProfileManager(), ns3::ServiceFlowRecord::GetBytesRcvd(), ns3::ServiceFlowRecord::GetBytesSent(), ns3::WimaxNetDevice::GetMacAddress(), ns3::ServiceFlowRecord::GetPktsRcvd(), ns3::ServiceFlowRecord::GetPktsSent(), IsRegistered(), m_basicConnection, m_scheduler, ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, NS_LOG_DEBUG, ns3::Cid::TRANSPORT, ns3::OfdmUlBurstProfile::UIUC_INITIAL_RANGING, ns3::OfdmUlBurstProfile::UIUC_REQ_REGION_FULL, ns3::ServiceFlowRecord::UpdateBytesSent(), and ns3::ServiceFlowRecord::UpdatePktsSent().
Referenced by ProcessUlMap().
void ns3::SubscriberStationNetDevice::SetAreManagementConnectionsAllocated | ( | bool | areManagementConnectionsAllocated | ) |
areManagementConnectionsAllocated | true if the management connections are allocated, false otherwise |
Definition at line 479 of file ss-net-device.cc.
References m_areManagementConnectionsAllocated.
void ns3::SubscriberStationNetDevice::SetAreServiceFlowsAllocated | ( | bool | areServiceFlowsAllocated | ) |
areServiceFlowsAllocated | true if the service flows are allocated, false otherwise |
Definition at line 491 of file ss-net-device.cc.
References m_areServiceFlowsAllocated.
void ns3::SubscriberStationNetDevice::SetBasicConnection | ( | Ptr< WimaxConnection > | basicConnection | ) |
basicConnection | the basic connection to be used |
Definition at line 431 of file ss-net-device.cc.
References m_basicConnection.
void ns3::SubscriberStationNetDevice::SetIntervalT1 | ( | Time | interval1 | ) |
interval1 | Wait for DCD timeout |
Definition at line 335 of file ss-net-device.cc.
References m_intervalT1.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetIntervalT12 | ( | Time | interval12 | ) |
interval12 | the Wait for UCD descriptor timeout |
Definition at line 383 of file ss-net-device.cc.
References m_intervalT12.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetIntervalT2 | ( | Time | interval2 | ) |
interval2 | the wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity |
Definition at line 347 of file ss-net-device.cc.
References m_intervalT2.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetIntervalT20 | ( | Time | interval20 | ) |
interval20 | the Time the SS searches for preambles on a given channel |
Definition at line 395 of file ss-net-device.cc.
References m_intervalT20.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetIntervalT21 | ( | Time | interval21 | ) |
interval21 | the time the SS searches for (decodable) DL-MAP on a given channel |
Definition at line 407 of file ss-net-device.cc.
References m_intervalT21.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetIntervalT3 | ( | Time | interval3 | ) |
interval3 | the ranging Response reception timeout following the transmission of a ranging request |
Definition at line 359 of file ss-net-device.cc.
References m_intervalT3.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetIntervalT7 | ( | Time | interval7 | ) |
interval7 | the wait for DSA/DSC/DSD Response timeout |
Definition at line 371 of file ss-net-device.cc.
References m_intervalT7.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetIpcsPacketClassifier | ( | Ptr< IpcsClassifier > | classifier | ) |
Sets the packet classifier to be used.
Definition at line 528 of file ss-net-device.cc.
References m_classifier.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetLinkManager | ( | Ptr< SSLinkManager > | linkManager | ) |
sets the link manager to be used
Definition at line 540 of file ss-net-device.cc.
References m_linkManager.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetLostDlMapInterval | ( | Time | lostDlMapInterval | ) |
lostDlMapInterval | time since last received DL-MAP message before downlink synchronization is considered lost |
Definition at line 287 of file ss-net-device.cc.
References m_lostDlMapInterval.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetLostUlMapInterval | ( | Time | lostUlMapInterval | ) |
lostUlMapInterval | Time since last received UL-MAP before uplink synchronization is considered lost |
Definition at line 299 of file ss-net-device.cc.
References m_lostUlMapInterval.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetMaxContentionRangingRetries | ( | uint8_t | maxContentionRangingRetries | ) |
maxContentionRangingRetries | the Number of retries on contention Ranging Requests |
Definition at line 419 of file ss-net-device.cc.
References m_maxContentionRangingRetries.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetMaxDcdInterval | ( | Time | maxDcdInterval | ) |
maxDcdInterval | Maximum time between transmission of DCD messages |
Definition at line 311 of file ss-net-device.cc.
References m_maxDcdInterval.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetMaxUcdInterval | ( | Time | maxUcdInterval | ) |
maxUcdInterval | Maximum time between transmission of UCD messages |
Definition at line 323 of file ss-net-device.cc.
References m_maxUcdInterval.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetModulationType | ( | WimaxPhy::ModulationType | modulationType | ) |
Set the most efficient modulation and coding scheme (MCS) supported by the device.
modulationType | the most robust MCS supported |
Definition at line 467 of file ss-net-device.cc.
References m_modulationType.
void ns3::SubscriberStationNetDevice::SetPrimaryConnection | ( | Ptr< WimaxConnection > | primaryConnection | ) |
primaryConnection | the primary connection to be used |
Definition at line 443 of file ss-net-device.cc.
References m_primaryConnection.
void ns3::SubscriberStationNetDevice::SetScheduler | ( | Ptr< SSScheduler > | ssScheduler | ) |
ssScheduler | the scheduler to be installed on the device |
Definition at line 509 of file ss-net-device.cc.
References m_scheduler.
Referenced by GetTypeId().
void ns3::SubscriberStationNetDevice::SetServiceFlowManager | ( | Ptr< SsServiceFlowManager > | sfm | ) |
Sets the service flow manager to be installed on the device.
Definition at line 552 of file ss-net-device.cc.
References m_serviceFlowManager.
Definition at line 1276 of file ss-net-device.cc.
References ns3::Simulator::Cancel(), ns3::WimaxNetDevice::GetState(), and SS_STATE_STOPPED.
|
virtual |
Implements ns3::WimaxNetDevice.
Definition at line 558 of file ss-net-device.cc.
References ns3::WimaxNetDevice::CreateDefaultConnections(), EVENT_NONE, ns3::WimaxNetDevice::GetPhy(), m_intervalT20, m_linkManager, ns3::Simulator::ScheduleNow(), ns3::Seconds(), ns3::WimaxNetDevice::SetReceiveCallback(), and ns3::SSLinkManager::StartScanning().
|
virtual |
Implements ns3::WimaxNetDevice.
Definition at line 571 of file ss-net-device.cc.
References ns3::WimaxNetDevice::SetState(), and SS_STATE_STOPPED.
|
private |
Definition at line 323 of file ss-net-device.h.
Referenced by GetTimeToAllocation(), InitSubscriberStationNetDevice(), and ProcessUlMap().
|
private |
Definition at line 346 of file ss-net-device.h.
Referenced by GetAreManagementConnectionsAllocated(), InitSubscriberStationNetDevice(), ProcessUlMap(), and SetAreManagementConnectionsAllocated().
|
private |
Definition at line 347 of file ss-net-device.h.
Referenced by GetAreServiceFlowsAllocated(), InitSubscriberStationNetDevice(), and SetAreServiceFlowsAllocated().
|
private |
Definition at line 319 of file ss-net-device.h.
Referenced by DoReceive(), InitSubscriberStationNetDevice(), and ProcessDlMap().
|
private |
Definition at line 329 of file ss-net-device.h.
Referenced by DoDispose(), DoReceive(), DoSend(), GetBasicCid(), GetBasicConnection(), GetTypeId(), InitSubscriberStationNetDevice(), ProcessDlMap(), ProcessUlMap(), SendBurst(), and SetBasicConnection().
|
private |
Definition at line 351 of file ss-net-device.h.
Referenced by DoDispose(), DoSend(), GetIpcsClassifier(), InitSubscriberStationNetDevice(), and SetIpcsPacketClassifier().
|
private |
Definition at line 318 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessDlMap().
|
private |
Definition at line 332 of file ss-net-device.h.
Referenced by DoReceive().
|
private |
Definition at line 339 of file ss-net-device.h.
Referenced by DoDispose(), InitSubscriberStationNetDevice(), and ProcessDcd().
|
private |
Definition at line 308 of file ss-net-device.h.
Referenced by DoReceive(), GetIntervalT1(), InitSubscriberStationNetDevice(), and SetIntervalT1().
|
private |
Definition at line 312 of file ss-net-device.h.
Referenced by DoReceive(), GetIntervalT12(), InitSubscriberStationNetDevice(), and SetIntervalT12().
|
private |
Definition at line 309 of file ss-net-device.h.
Referenced by DoReceive(), GetIntervalT2(), InitSubscriberStationNetDevice(), and SetIntervalT2().
|
private |
Definition at line 313 of file ss-net-device.h.
Referenced by GetIntervalT20(), SetIntervalT20(), and Start().
|
private |
Definition at line 314 of file ss-net-device.h.
Referenced by GetIntervalT21(), InitSubscriberStationNetDevice(), and SetIntervalT21().
|
private |
Definition at line 310 of file ss-net-device.h.
Referenced by GetIntervalT3(), InitSubscriberStationNetDevice(), and SetIntervalT3().
|
private |
Definition at line 311 of file ss-net-device.h.
Referenced by GetIntervalT7(), InitSubscriberStationNetDevice(), and SetIntervalT7().
Ptr<SSLinkManager> ns3::SubscriberStationNetDevice::m_linkManager |
Definition at line 265 of file ss-net-device.h.
Referenced by DoDispose(), DoReceive(), GetLinkManager(), InitSubscriberStationNetDevice(), ProcessDcd(), ProcessUcd(), ProcessUlMap(), SetLinkManager(), and Start().
|
private |
Definition at line 332 of file ss-net-device.h.
Referenced by DoReceive().
|
private |
Definition at line 304 of file ss-net-device.h.
Referenced by DoReceive(), GetLostDlMapInterval(), InitSubscriberStationNetDevice(), and SetLostDlMapInterval().
|
private |
Definition at line 332 of file ss-net-device.h.
Referenced by DoReceive().
|
private |
Definition at line 305 of file ss-net-device.h.
Referenced by DoReceive(), GetLostUlMapInterval(), InitSubscriberStationNetDevice(), and SetLostUlMapInterval().
|
private |
Definition at line 315 of file ss-net-device.h.
Referenced by GetMaxContentionRangingRetries(), InitSubscriberStationNetDevice(), and SetMaxContentionRangingRetries().
|
private |
Definition at line 306 of file ss-net-device.h.
Referenced by GetMaxDcdInterval(), InitSubscriberStationNetDevice(), and SetMaxDcdInterval().
|
private |
Definition at line 307 of file ss-net-device.h.
Referenced by GetMaxUcdInterval(), InitSubscriberStationNetDevice(), and SetMaxUcdInterval().
|
private |
Definition at line 344 of file ss-net-device.h.
Referenced by GetModulationType(), InitSubscriberStationNetDevice(), ProcessDcd(), ProcessUcd(), and SetModulationType().
|
private |
Definition at line 336 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessDcd().
|
private |
Definition at line 326 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice().
|
private |
Definition at line 334 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessDlMap().
|
private |
Definition at line 337 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessUcd().
|
private |
Definition at line 327 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice().
|
private |
Definition at line 335 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessUlMap().
|
private |
Definition at line 330 of file ss-net-device.h.
Referenced by DoDispose(), DoReceive(), GetPrimaryCid(), GetPrimaryConnection(), GetTypeId(), InitSubscriberStationNetDevice(), and SetPrimaryConnection().
|
private |
Definition at line 332 of file ss-net-device.h.
Referenced by DoReceive().
|
private |
Definition at line 349 of file ss-net-device.h.
Referenced by DoDispose(), Enqueue(), GetScheduler(), InitSubscriberStationNetDevice(), SendBurst(), and SetScheduler().
|
private |
Definition at line 350 of file ss-net-device.h.
Referenced by DoDispose(), GetServiceFlowManager(), InitSubscriberStationNetDevice(), and SetServiceFlowManager().
|
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 381 of file ss-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 reception.
Definition at line 398 of file ss-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 390 of file ss-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 372 of file ss-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 364 of file ss-net-device.h.
Referenced by DoSend().
|
private |
Definition at line 353 of file ss-net-device.h.
Referenced by DoReceive().
|
private |
Definition at line 356 of file ss-net-device.h.
|
private |
Definition at line 322 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessUlMap().
|
private |
Definition at line 332 of file ss-net-device.h.
Referenced by DoReceive().
|
private |
Definition at line 340 of file ss-net-device.h.
Referenced by DoDispose(), InitSubscriberStationNetDevice(), and ProcessUcd().