SubscriberStationNetDevice subclass of WimaxNetDevice. More...
#include "ss-net-device.h"
Public Member Functions | |
SubscriberStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy) | |
Constructor. More... | |
SubscriberStationNetDevice (void) | |
~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 |
Time | GetIntervalT12 (void) const |
Time | GetIntervalT2 (void) const |
Time | GetIntervalT20 (void) const |
Time | GetIntervalT21 (void) const |
Time | GetIntervalT3 (void) const |
Time | GetIntervalT7 (void) const |
Ptr< IpcsClassifier > | GetIpcsClassifier () const |
Ptr< SSLinkManager > | GetLinkManager (void) const |
Time | GetLostDlMapInterval (void) const |
Time | GetLostUlMapInterval (void) const |
uint8_t | GetMaxContentionRangingRetries (void) const |
Time | GetMaxDcdInterval (void) const |
Time | GetMaxUcdInterval (void) const |
WimaxPhy::ModulationType | GetModulationType (void) const |
Cid | GetPrimaryCid (void) const |
Ptr< WimaxConnection > | GetPrimaryConnection (void) const |
Ptr< SSScheduler > | GetScheduler (void) const |
Ptr< SsServiceFlowManager > | GetServiceFlowManager (void) const |
Time | GetTimeToAllocation (Time deferTime) |
Get time to allocation. More... | |
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 | SetAsciiTxQueueDequeueCallback (AsciiTraceCallback cb) |
Set the Dequeue callback for ASCII tracing. More... | |
void | SetAsciiTxQueueDropCallback (AsciiTraceCallback cb) |
Set the Drop callback for ASCII tracing. More... | |
void | SetAsciiTxQueueEnqueueCallback (AsciiTraceCallback cb) |
Set the Enqueue callback for ASCII tracing. More... | |
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 > classifier) |
Sets the packet classifier to be used. More... | |
void | SetLinkManager (Ptr< SSLinkManager > linkManager) |
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 > sfm) |
Sets the service flow manager to be installed on the device. More... | |
void | SetTimer (EventId eventId, EventId &event) |
Set timer. More... | |
void | Start (void) |
Start the device. More... | |
void | Stop (void) |
Stop the 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... | |
Public Attributes | |
Ptr< SSLinkManager > | m_linkManager |
link manager More... | |
Public Attributes inherited from ns3::WimaxNetDevice | |
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) |
Receive a packet. More... | |
bool | DoSend (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber) |
Send a packet. More... | |
void | ProcessDcd (const Dcd &dcd) |
Process DCD. More... | |
void | ProcessDlMap (const DlMap &dlmap) |
Process DL map. More... | |
void | ProcessUcd (const Ucd &ucd) |
Process UCD. More... | |
void | ProcessUlMap (const UlMap &ulmap) |
Process UL map. More... | |
Static Private Member Functions | |
static Time | GetDefaultLostDlMapInterval () |
Get default lost DL map interval. More... | |
Private Attributes | |
double | m_allocationStartTime |
allocation start time More... | |
bool | m_areManagementConnectionsAllocated |
are management connections allocated More... | |
bool | m_areServiceFlowsAllocated |
are service flows allocated More... | |
AsciiTraceCallback | m_asciiTxQueueDequeueCb |
Bound callback to perform ASCII logging for Dequeue events. More... | |
AsciiTraceCallback | m_asciiTxQueueDropCb |
Bound callback to perform ASCII logging for Drop events. More... | |
AsciiTraceCallback | m_asciiTxQueueEnqueueCb |
Bound callback to perform ASCII logging for Enqueue events. More... | |
Mac48Address | m_baseStationId |
base station ID More... | |
Ptr< WimaxConnection > | m_basicConnection |
basic connection More... | |
Ptr< IpcsClassifier > | m_classifier |
the classifier More... | |
uint8_t | m_dcdCount |
DCD count. More... | |
EventId | m_dcdWaitTimeoutEvent |
DCD wait timeout event. More... | |
OfdmDlBurstProfile * | m_dlBurstProfile |
DL burst profile. More... | |
Time | m_intervalT1 |
in seconds, wait for DCD timeout More... | |
Time | m_intervalT12 |
in seconds, wait for UCD descriptor More... | |
Time | m_intervalT2 |
in seconds, wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity More... | |
Time | m_intervalT20 |
in seconds, time the SS searches for preambles on a given channel More... | |
Time | m_intervalT21 |
in seconds, time the SS searches for (decodable) DL-MAP on a given channel More... | |
Time | m_intervalT3 |
in milliseconds, ranging Response reception timeout following the transmission of a ranging request More... | |
Time | m_intervalT7 |
in seconds, wait for DSA/DSC/DSD Response timeout More... | |
EventId | m_lostDlMapEvent |
lost DL map event More... | |
Time | m_lostDlMapInterval |
in milliseconds, time since last received DL-MAP before downlink synchronization is considered lost, maximum is 600 More... | |
EventId | m_lostUlMapEvent |
lost UL map event More... | |
Time | m_lostUlMapInterval |
in milliseconds, time since last received UL-MAP before uplink synchronization is considered lost, maximum is 600 More... | |
uint8_t | m_maxContentionRangingRetries |
maximum contention ranging retries More... | |
Time | m_maxDcdInterval |
in seconds, maximum time between transmission of DCD messages More... | |
Time | m_maxUcdInterval |
in seconds, maximum time between transmission of UCD messages More... | |
WimaxPhy::ModulationType | m_modulationType |
modulation type More... | |
uint32_t | m_nrDcdRecvd |
number DCD received More... | |
uint16_t | m_nrDlMapElements |
number DL Map elements More... | |
uint32_t | m_nrDlMapRecvd |
number DL map received More... | |
uint32_t | m_nrUcdRecvd |
number UCD received More... | |
uint16_t | m_nrUlMapElements |
number UL Map elements More... | |
uint32_t | m_nrUlMapRecvd |
number UL map received More... | |
Ptr< WimaxConnection > | m_primaryConnection |
primary connection More... | |
EventId | m_rangOppWaitTimeoutEvent |
range opp wait timeout event More... | |
Ptr< SSScheduler > | m_scheduler |
the scheduler More... | |
Ptr< SsServiceFlowManager > | m_serviceFlowManager |
the service flow manager More... | |
TracedCallback< Ptr< const Packet > > | m_ssPromiscRxTrace |
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_ssRxDropTrace |
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_ssRxTrace |
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_ssTxDropTrace |
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_ssTxTrace |
The trace source fired when packets come into the "top" of the device at the L3/L2 transition, before being queued for transmission. More... | |
TracedCallback< Ptr< const Packet >, Mac48Address, const Cid & > | m_traceSSRx |
trace SS receive callback More... | |
uint8_t | m_ucdCount |
UCD count. More... | |
EventId | m_ucdWaitTimeoutEvent |
UCD wait timeout event. More... | |
OfdmUlBurstProfile * | m_ulBurstProfile |
UL burst profile. More... | |
Additional Inherited Members | |
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... | |
SubscriberStationNetDevice subclass of WimaxNetDevice.
ns3::SubscriberStationNetDevice is accessible through the following paths with Config::Set and Config::Connect:
Size of this type is 912 bytes (on a 64-bit architecture).
Definition at line 48 of file ss-net-device.h.
typedef Callback<void, std::string, Ptr<const Packet> > ns3::SubscriberStationNetDevice::AsciiTraceCallback |
Callback for logging packets on ASCII traces.
Definition at line 346 of file ss-net-device.h.
EventType enumeration.
Enumerator | |
---|---|
EVENT_NONE | |
EVENT_WAIT_FOR_RNG_RSP | |
EVENT_DL_MAP_SYNC_TIMEOUT | |
EVENT_LOST_DL_MAP | |
EVENT_LOST_UL_MAP | |
EVENT_DCD_WAIT_TIMEOUT | |
EVENT_UCD_WAIT_TIMEOUT | |
EVENT_RANG_OPP_WAIT_TIMEOUT |
Definition at line 68 of file ss-net-device.h.
State enumeration.
Definition at line 52 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 | ||
) |
Constructor.
node | the node |
phy | the wimax 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
sf | pointer to service flow to add |
Definition at line 630 of file ss-net-device.cc.
References GetServiceFlowManager().
void ns3::SubscriberStationNetDevice::AddServiceFlow | ( | ServiceFlow | sf | ) |
adds a new service flow
sf | service flow to add |
Definition at line 624 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 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 269 of file ss-net-device.cc.
References ns3::WimaxNetDevice::DoDispose(), m_asciiTxQueueDequeueCb, m_asciiTxQueueDropCb, m_asciiTxQueueEnqueueCb, m_basicConnection, m_classifier, m_dlBurstProfile, m_linkManager, m_primaryConnection, m_scheduler, m_serviceFlowManager, m_ulBurstProfile, and ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Nullify().
Receive a packet.
packet | the packet received |
Implements ns3::WimaxNetDevice.
Definition at line 788 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, pktSize, 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 |
Send a packet.
packet | the packet to send |
source | the source MAC address |
dest | the destination MAC address |
protocolNumber | the protocol number |
Implements ns3::WimaxNetDevice.
Definition at line 636 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 705 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 532 of file ss-net-device.cc.
References m_areManagementConnectionsAllocated.
Referenced by Ns3WimaxManagementConnectionsTestCase::DoRun().
bool ns3::SubscriberStationNetDevice::GetAreServiceFlowsAllocated | ( | void | ) | const |
Definition at line 544 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 462 of file ss-net-device.cc.
References m_basicConnection.
|
staticprivate |
Get default lost DL map interval.
Definition at line 51 of file ss-net-device.cc.
References ns3::MicroSeconds().
Time ns3::SubscriberStationNetDevice::GetIntervalT1 | ( | void | ) | const |
Definition at line 345 of file ss-net-device.cc.
References m_intervalT1.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT12 | ( | void | ) | const |
Definition at line 393 of file ss-net-device.cc.
References m_intervalT12.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT2 | ( | void | ) | const |
Definition at line 357 of file ss-net-device.cc.
References m_intervalT2.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT20 | ( | void | ) | const |
Definition at line 405 of file ss-net-device.cc.
References m_intervalT20.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT21 | ( | void | ) | const |
Definition at line 417 of file ss-net-device.cc.
References m_intervalT21.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT3 | ( | void | ) | const |
Definition at line 369 of file ss-net-device.cc.
References m_intervalT3.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetIntervalT7 | ( | void | ) | const |
Definition at line 381 of file ss-net-device.cc.
References m_intervalT7.
Referenced by GetTypeId().
Ptr< IpcsClassifier > ns3::SubscriberStationNetDevice::GetIpcsClassifier | ( | ) | const |
Definition at line 568 of file ss-net-device.cc.
References m_classifier.
Referenced by GetTypeId().
Ptr< SSLinkManager > ns3::SubscriberStationNetDevice::GetLinkManager | ( | void | ) | const |
Definition at line 581 of file ss-net-device.cc.
References m_linkManager.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetLostDlMapInterval | ( | void | ) | const |
Definition at line 297 of file ss-net-device.cc.
References m_lostDlMapInterval.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetLostUlMapInterval | ( | void | ) | const |
Definition at line 309 of file ss-net-device.cc.
References m_lostUlMapInterval.
Referenced by GetTypeId().
uint8_t ns3::SubscriberStationNetDevice::GetMaxContentionRangingRetries | ( | void | ) | const |
Definition at line 429 of file ss-net-device.cc.
References m_maxContentionRangingRetries.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetMaxDcdInterval | ( | void | ) | const |
Definition at line 321 of file ss-net-device.cc.
References m_maxDcdInterval.
Referenced by GetTypeId().
Time ns3::SubscriberStationNetDevice::GetMaxUcdInterval | ( | void | ) | const |
Definition at line 333 of file ss-net-device.cc.
References m_maxUcdInterval.
Referenced by GetTypeId().
WimaxPhy::ModulationType ns3::SubscriberStationNetDevice::GetModulationType | ( | void | ) | const |
Definition at line 520 of file ss-net-device.cc.
References m_modulationType.
Referenced by ns3::BurstProfileManager::GetBurstProfileToRequest().
Cid ns3::SubscriberStationNetDevice::GetPrimaryCid | ( | void | ) | const |
Definition at line 508 of file ss-net-device.cc.
References m_primaryConnection.
Ptr< WimaxConnection > ns3::SubscriberStationNetDevice::GetPrimaryConnection | ( | void | ) | const |
Definition at line 496 of file ss-net-device.cc.
References m_primaryConnection.
Ptr< SSScheduler > ns3::SubscriberStationNetDevice::GetScheduler | ( | void | ) | const |
Definition at line 550 of file ss-net-device.cc.
References m_scheduler.
Referenced by GetTypeId().
Ptr< SsServiceFlowManager > ns3::SubscriberStationNetDevice::GetServiceFlowManager | ( | void | ) | const |
Definition at line 593 of file ss-net-device.cc.
References m_serviceFlowManager.
Referenced by AddServiceFlow(), DoReceive(), DoSend(), and HasServiceFlows().
Get time to allocation.
deferTime | defer time |
Definition at line 1314 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 |
Get the type ID.
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 562 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 1308 of file ss-net-device.cc.
References ns3::WimaxNetDevice::GetState(), and SS_STATE_REGISTERED.
Referenced by Ns3WimaxNetworkEntryTestCase::DoRun(), Ns3WimaxSimpleOFDMTestCase::DoRunOnce(), DoSend(), and SendBurst().
|
private |
Process DCD.
dcd | the DCD |
Definition at line 1237 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 |
Process DL map.
dlmap | the DL map |
Definition at line 1115 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 |
Process UCD.
ucd | the UCD |
Definition at line 1271 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 |
Process UL map.
ulmap | the UL map |
Definition at line 1146 of file ss-net-device.cc.
References ns3::UlMap::GetAllocationStartTime(), ns3::WimaxNetDevice::GetBandwidthManager(), ns3::WimaxNetDevice::GetBroadcastConnection(), ns3::OfdmUlMapIe::GetCid(), ns3::WimaxNetDevice::GetCurrentUcd(), ns3::OfdmUlMapIe::GetDuration(), ns3::WimaxNetDevice::GetPhy(), 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.
uiuc | theOfdmUlBurstProfile |
nrSymbols | number of symbols |
connection | connection to use |
packetType | optional HeaderType (default HEADER_TYPE_GENERIC) |
Definition at line 738 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 526 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 538 of file ss-net-device.cc.
References m_areServiceFlowsAllocated.
void ns3::SubscriberStationNetDevice::SetAsciiTxQueueDequeueCallback | ( | AsciiTraceCallback | cb | ) |
Set the Dequeue callback for ASCII tracing.
cb | callback for ASCII tracing |
Definition at line 1341 of file ss-net-device.cc.
References m_asciiTxQueueDequeueCb.
void ns3::SubscriberStationNetDevice::SetAsciiTxQueueDropCallback | ( | AsciiTraceCallback | cb | ) |
Set the Drop callback for ASCII tracing.
cb | callback for ASCII tracing |
Definition at line 1347 of file ss-net-device.cc.
References m_asciiTxQueueDropCb.
void ns3::SubscriberStationNetDevice::SetAsciiTxQueueEnqueueCallback | ( | AsciiTraceCallback | cb | ) |
Set the Enqueue callback for ASCII tracing.
cb | callback for ASCII tracing |
Definition at line 1335 of file ss-net-device.cc.
References m_asciiTxQueueEnqueueCb.
void ns3::SubscriberStationNetDevice::SetBasicConnection | ( | Ptr< WimaxConnection > | basicConnection | ) |
basicConnection | the basic connection to be used |
Definition at line 435 of file ss-net-device.cc.
References ns3::Config::Connect(), ns3::Node::GetId(), ns3::WimaxNetDevice::GetIfIndex(), ns3::WimaxNetDevice::GetNode(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_asciiTxQueueDequeueCb, m_asciiTxQueueDropCb, m_asciiTxQueueEnqueueCb, and m_basicConnection.
void ns3::SubscriberStationNetDevice::SetIntervalT1 | ( | Time | interval1 | ) |
interval1 | Wait for DCD timeout value |
Definition at line 339 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 387 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 351 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 399 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 411 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 363 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 375 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.
classifier | the classifier to use |
Definition at line 575 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
linkManager | link manager to use |
Definition at line 587 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 291 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 303 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 423 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 315 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 327 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 514 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 468 of file ss-net-device.cc.
References ns3::Config::Connect(), ns3::Node::GetId(), ns3::WimaxNetDevice::GetIfIndex(), ns3::WimaxNetDevice::GetNode(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_asciiTxQueueDequeueCb, m_asciiTxQueueDropCb, m_asciiTxQueueEnqueueCb, and m_primaryConnection.
void ns3::SubscriberStationNetDevice::SetScheduler | ( | Ptr< SSScheduler > | ssScheduler | ) |
ssScheduler | the scheduler to be installed on the device |
Definition at line 556 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.
sfm | service flow manager to be used |
Definition at line 599 of file ss-net-device.cc.
References m_serviceFlowManager.
Set timer.
If in stopped state, the EventId passed in the first argument will be cancelled. If not, the second parameter will be set to the value of the first parameter.
eventId | EventId to cancel or to map to the second argument |
event | EventId is set to first argument if not in stopped state |
Definition at line 1323 of file ss-net-device.cc.
References ns3::Simulator::Cancel(), ns3::WimaxNetDevice::GetState(), and SS_STATE_STOPPED.
|
virtual |
Start the device.
Implements ns3::WimaxNetDevice.
Definition at line 605 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 |
Stop the device.
Implements ns3::WimaxNetDevice.
Definition at line 618 of file ss-net-device.cc.
References ns3::WimaxNetDevice::SetState(), and SS_STATE_STOPPED.
|
private |
allocation start time
Definition at line 430 of file ss-net-device.h.
Referenced by GetTimeToAllocation(), InitSubscriberStationNetDevice(), and ProcessUlMap().
|
private |
are management connections allocated
Definition at line 457 of file ss-net-device.h.
Referenced by GetAreManagementConnectionsAllocated(), InitSubscriberStationNetDevice(), ProcessUlMap(), and SetAreManagementConnectionsAllocated().
|
private |
are service flows allocated
Definition at line 458 of file ss-net-device.h.
Referenced by GetAreServiceFlowsAllocated(), InitSubscriberStationNetDevice(), and SetAreServiceFlowsAllocated().
|
private |
Bound callback to perform ASCII logging for Dequeue events.
Definition at line 511 of file ss-net-device.h.
Referenced by DoDispose(), SetAsciiTxQueueDequeueCallback(), SetBasicConnection(), and SetPrimaryConnection().
|
private |
Bound callback to perform ASCII logging for Drop events.
Definition at line 513 of file ss-net-device.h.
Referenced by DoDispose(), SetAsciiTxQueueDropCallback(), SetBasicConnection(), and SetPrimaryConnection().
|
private |
Bound callback to perform ASCII logging for Enqueue events.
Definition at line 509 of file ss-net-device.h.
Referenced by DoDispose(), SetAsciiTxQueueEnqueueCallback(), SetBasicConnection(), and SetPrimaryConnection().
|
private |
base station ID
Definition at line 426 of file ss-net-device.h.
Referenced by DoReceive(), InitSubscriberStationNetDevice(), and ProcessDlMap().
|
private |
basic connection
Definition at line 436 of file ss-net-device.h.
Referenced by DoDispose(), DoReceive(), DoSend(), GetBasicCid(), GetBasicConnection(), GetTypeId(), InitSubscriberStationNetDevice(), ProcessDlMap(), ProcessUlMap(), SendBurst(), and SetBasicConnection().
|
private |
the classifier
Definition at line 462 of file ss-net-device.h.
Referenced by DoDispose(), DoSend(), GetIpcsClassifier(), InitSubscriberStationNetDevice(), and SetIpcsPacketClassifier().
|
private |
DCD count.
Definition at line 425 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessDlMap().
|
private |
|
private |
DL burst profile.
Definition at line 450 of file ss-net-device.h.
Referenced by DoDispose(), InitSubscriberStationNetDevice(), and ProcessDcd().
|
private |
in seconds, wait for DCD timeout
Definition at line 415 of file ss-net-device.h.
Referenced by DoReceive(), GetIntervalT1(), InitSubscriberStationNetDevice(), and SetIntervalT1().
|
private |
in seconds, wait for UCD descriptor
Definition at line 419 of file ss-net-device.h.
Referenced by DoReceive(), GetIntervalT12(), InitSubscriberStationNetDevice(), and SetIntervalT12().
|
private |
in seconds, wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity
Definition at line 416 of file ss-net-device.h.
Referenced by DoReceive(), GetIntervalT2(), InitSubscriberStationNetDevice(), and SetIntervalT2().
|
private |
in seconds, time the SS searches for preambles on a given channel
Definition at line 420 of file ss-net-device.h.
Referenced by GetIntervalT20(), SetIntervalT20(), and Start().
|
private |
in seconds, time the SS searches for (decodable) DL-MAP on a given channel
Definition at line 421 of file ss-net-device.h.
Referenced by GetIntervalT21(), InitSubscriberStationNetDevice(), and SetIntervalT21().
|
private |
in milliseconds, ranging Response reception timeout following the transmission of a ranging request
Definition at line 417 of file ss-net-device.h.
Referenced by GetIntervalT3(), InitSubscriberStationNetDevice(), and SetIntervalT3().
|
private |
in seconds, wait for DSA/DSC/DSD Response timeout
Definition at line 418 of file ss-net-device.h.
Referenced by GetIntervalT7(), InitSubscriberStationNetDevice(), and SetIntervalT7().
Ptr<SSLinkManager> ns3::SubscriberStationNetDevice::m_linkManager |
link manager
Definition at line 316 of file ss-net-device.h.
Referenced by DoDispose(), DoReceive(), GetLinkManager(), InitSubscriberStationNetDevice(), ProcessDcd(), ProcessUcd(), ProcessUlMap(), SetLinkManager(), and Start().
|
private |
|
private |
in milliseconds, time since last received DL-MAP before downlink synchronization is considered lost, maximum is 600
Definition at line 411 of file ss-net-device.h.
Referenced by DoReceive(), GetLostDlMapInterval(), InitSubscriberStationNetDevice(), and SetLostDlMapInterval().
|
private |
|
private |
in milliseconds, time since last received UL-MAP before uplink synchronization is considered lost, maximum is 600
Definition at line 412 of file ss-net-device.h.
Referenced by DoReceive(), GetLostUlMapInterval(), InitSubscriberStationNetDevice(), and SetLostUlMapInterval().
|
private |
maximum contention ranging retries
Definition at line 422 of file ss-net-device.h.
Referenced by GetMaxContentionRangingRetries(), InitSubscriberStationNetDevice(), and SetMaxContentionRangingRetries().
|
private |
in seconds, maximum time between transmission of DCD messages
Definition at line 413 of file ss-net-device.h.
Referenced by GetMaxDcdInterval(), InitSubscriberStationNetDevice(), and SetMaxDcdInterval().
|
private |
in seconds, maximum time between transmission of UCD messages
Definition at line 414 of file ss-net-device.h.
Referenced by GetMaxUcdInterval(), InitSubscriberStationNetDevice(), and SetMaxUcdInterval().
|
private |
modulation type
Definition at line 455 of file ss-net-device.h.
Referenced by GetModulationType(), InitSubscriberStationNetDevice(), ProcessDcd(), ProcessUcd(), and SetModulationType().
|
private |
number DCD received
Definition at line 447 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessDcd().
|
private |
number DL Map elements
Definition at line 433 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice().
|
private |
number DL map received
Definition at line 445 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessDlMap().
|
private |
number UCD received
Definition at line 448 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessUcd().
|
private |
number UL Map elements
Definition at line 434 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice().
|
private |
number UL map received
Definition at line 446 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessUlMap().
|
private |
primary connection
Definition at line 437 of file ss-net-device.h.
Referenced by DoDispose(), DoReceive(), GetPrimaryCid(), GetPrimaryConnection(), GetTypeId(), InitSubscriberStationNetDevice(), and SetPrimaryConnection().
|
private |
range opp wait timeout event
Definition at line 443 of file ss-net-device.h.
Referenced by DoReceive().
|
private |
the scheduler
Definition at line 460 of file ss-net-device.h.
Referenced by DoDispose(), Enqueue(), GetScheduler(), InitSubscriberStationNetDevice(), SendBurst(), and SetScheduler().
|
private |
the service flow manager
Definition at line 461 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 489 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 506 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 498 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 480 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 472 of file ss-net-device.h.
Referenced by DoSend().
|
private |
trace SS receive callback
Definition at line 464 of file ss-net-device.h.
Referenced by DoReceive().
|
private |
UCD count.
Definition at line 429 of file ss-net-device.h.
Referenced by InitSubscriberStationNetDevice(), and ProcessUlMap().
|
private |
|
private |
UL burst profile.
Definition at line 451 of file ss-net-device.h.
Referenced by DoDispose(), InitSubscriberStationNetDevice(), and ProcessUcd().