View | Details | Raw Unified | Return to bug 487
Collapse All | Expand All

(-)ns-3-simu-OLD/src/devices/wifi/nqsta-wifi-mac.cc (-8 / +20 lines)
 Lines 24-29    Link Here 
24
#include "ns3/log.h"
24
#include "ns3/log.h"
25
#include "ns3/node.h"
25
#include "ns3/node.h"
26
#include "ns3/uinteger.h"
26
#include "ns3/uinteger.h"
27
#include "ns3/trace-source-accessor.h"
27
28
28
#include "nqsta-wifi-mac.h"
29
#include "nqsta-wifi-mac.h"
29
#include "wifi-mac-header.h"
30
#include "wifi-mac-header.h"
 Lines 80-85   NqstaWifiMac::GetTypeId (void) Link Here 
80
                   BooleanValue (false),
81
                   BooleanValue (false),
81
                   MakeBooleanAccessor (&NqstaWifiMac::SetActiveProbing),
82
                   MakeBooleanAccessor (&NqstaWifiMac::SetActiveProbing),
82
                   MakeBooleanChecker ())
83
                   MakeBooleanChecker ())
84
    .AddTraceSource ("Assoc", "Associated with an access point.",
85
                     MakeTraceSourceAccessor (&NqstaWifiMac::m_assocLogger))
86
    .AddTraceSource ("DeAssoc", "Association with an access point lost.",
87
                     MakeTraceSourceAccessor (&NqstaWifiMac::m_deAssocLogger))
83
    ;
88
    ;
84
  return tid;
89
  return tid;
85
}
90
}
 Lines 371-377   NqstaWifiMac::TryToEnsureAssociated (voi Link Here 
371
     * We try to initiate a probe request now.
376
     * We try to initiate a probe request now.
372
     */
377
     */
373
    m_linkDown ();
378
    m_linkDown ();
374
    m_state = WAIT_PROBE_RESP;
379
    setState(WAIT_PROBE_RESP);
375
    SendProbeRequest ();
380
    SendProbeRequest ();
376
    break;
381
    break;
377
  case WAIT_ASSOC_RESP:
382
  case WAIT_ASSOC_RESP:
 Lines 394-407   void Link Here 
394
NqstaWifiMac::AssocRequestTimeout (void)
399
NqstaWifiMac::AssocRequestTimeout (void)
395
{
400
{
396
  NS_LOG_FUNCTION (this);
401
  NS_LOG_FUNCTION (this);
397
  m_state = WAIT_ASSOC_RESP;
402
  setState(WAIT_ASSOC_RESP);
398
  SendAssociationRequest ();
403
  SendAssociationRequest ();
399
}
404
}
400
void
405
void
401
NqstaWifiMac::ProbeRequestTimeout (void)
406
NqstaWifiMac::ProbeRequestTimeout (void)
402
{
407
{
403
  NS_LOG_FUNCTION (this);
408
  NS_LOG_FUNCTION (this);
404
  m_state = WAIT_PROBE_RESP;
409
  setState(WAIT_PROBE_RESP);
405
  SendProbeRequest ();
410
  SendProbeRequest ();
406
}
411
}
407
void 
412
void 
 Lines 415-421   NqstaWifiMac::MissedBeacons (void) Link Here 
415
      return;
420
      return;
416
    }
421
    }
417
  NS_LOG_DEBUG ("beacon missed");
422
  NS_LOG_DEBUG ("beacon missed");
418
  m_state = BEACON_MISSED;
423
  setState(BEACON_MISSED);
419
  TryToEnsureAssociated ();
424
  TryToEnsureAssociated ();
420
}
425
}
421
void 
426
void 
 Lines 528-534   NqstaWifiMac::Receive (Ptr<Packet> packe Link Here 
528
        }
533
        }
529
      if (goodBeacon && m_state == BEACON_MISSED) 
534
      if (goodBeacon && m_state == BEACON_MISSED) 
530
        {
535
        {
531
          m_state = WAIT_ASSOC_RESP;
536
          setState(WAIT_ASSOC_RESP);
532
          SendAssociationRequest ();
537
          SendAssociationRequest ();
533
        }
538
        }
534
  } 
539
  } 
 Lines 550-556   NqstaWifiMac::Receive (Ptr<Packet> packe Link Here 
550
            {
555
            {
551
              m_probeRequestEvent.Cancel ();
556
              m_probeRequestEvent.Cancel ();
552
            }
557
            }
553
          m_state = WAIT_ASSOC_RESP;
558
          setState(WAIT_ASSOC_RESP);
554
          SendAssociationRequest ();
559
          SendAssociationRequest ();
555
        }
560
        }
556
    } 
561
    } 
 Lines 566-572   NqstaWifiMac::Receive (Ptr<Packet> packe Link Here 
566
            }
571
            }
567
          if (assocResp.GetStatusCode ().IsSuccess ()) 
572
          if (assocResp.GetStatusCode ().IsSuccess ()) 
568
            {
573
            {
569
              m_state = ASSOCIATED;
574
              setState(ASSOCIATED);
570
              NS_LOG_DEBUG ("assoc completed"); 
575
              NS_LOG_DEBUG ("assoc completed"); 
571
              SupportedRates rates = assocResp.GetSupportedRates ();
576
              SupportedRates rates = assocResp.GetSupportedRates ();
572
              WifiRemoteStation *ap = m_stationManager->Lookup (hdr->GetAddr2 ());
577
              WifiRemoteStation *ap = m_stationManager->Lookup (hdr->GetAddr2 ());
 Lines 590-596   NqstaWifiMac::Receive (Ptr<Packet> packe Link Here 
590
          else 
595
          else 
591
            {
596
            {
592
              NS_LOG_DEBUG ("assoc refused");
597
              NS_LOG_DEBUG ("assoc refused");
593
              m_state = REFUSED;
598
              setState(REFUSED);
594
            }
599
            }
595
        }
600
        }
596
    }
601
    }
 Lines 608-611   NqstaWifiMac::GetSupportedRates (void) c Link Here 
608
  return rates;
613
  return rates;
609
}
614
}
610
615
616
void
617
NqstaWifiMac::setState(MacState value){
618
  if(value==ASSOCIATED && m_state!=ASSOCIATED) m_assocLogger(GetBssid());
619
  else if(value!=ASSOCIATED && m_state==ASSOCIATED) m_deAssocLogger(GetBssid());
620
  m_state=value;
621
}
622
611
} // namespace ns3
623
} // namespace ns3
(-)ns-3-simu-OLD/src/devices/wifi/nqsta-wifi-mac.h (-2 / +8 lines)
 Lines 27-32    Link Here 
27
#include "ns3/event-id.h"
27
#include "ns3/event-id.h"
28
#include "ns3/packet.h"
28
#include "ns3/packet.h"
29
#include "ns3/nstime.h"
29
#include "ns3/nstime.h"
30
#include "ns3/traced-callback.h"
30
31
31
#include "wifi-mac.h"
32
#include "wifi-mac.h"
32
#include "supported-rates.h"
33
#include "supported-rates.h"
 Lines 130-142   private: Link Here 
130
  NqstaWifiMac (const NqstaWifiMac & ctor_arg);
131
  NqstaWifiMac (const NqstaWifiMac & ctor_arg);
131
  NqstaWifiMac &operator = (const NqstaWifiMac & ctor_arg);
132
  NqstaWifiMac &operator = (const NqstaWifiMac & ctor_arg);
132
133
133
  enum {
134
  enum MacState{
134
    ASSOCIATED,
135
    ASSOCIATED,
135
    WAIT_PROBE_RESP,
136
    WAIT_PROBE_RESP,
136
    WAIT_ASSOC_RESP,
137
    WAIT_ASSOC_RESP,
137
    BEACON_MISSED,
138
    BEACON_MISSED,
138
    REFUSED
139
    REFUSED
139
  } m_state;
140
  };
141
  MacState m_state;
142
  void setState(MacState value);
140
  Time m_probeRequestTimeout;
143
  Time m_probeRequestTimeout;
141
  Time m_assocRequestTimeout;
144
  Time m_assocRequestTimeout;
142
  EventId m_probeRequestEvent;
145
  EventId m_probeRequestEvent;
 Lines 156-161   private: Link Here 
156
  Ptr<MacLow> m_low;
159
  Ptr<MacLow> m_low;
157
  Ssid m_ssid;
160
  Ssid m_ssid;
158
  Time m_eifsNoDifs;
161
  Time m_eifsNoDifs;
162
163
  TracedCallback<Mac48Address> m_assocLogger;
164
  TracedCallback<Mac48Address> m_deAssocLogger;
159
};
165
};
160
166
161
} // namespace ns3
167
} // namespace ns3

Return to bug 487