Added adhoc trace sources fro TxOk and TxError
authorKirill Andreev <andreev@iitp.ru>
Tue, 18 Aug 2009 11:47:17 +0400
changeset 5670 e9c6779c0d59
parent 5669 cdacd9c46201
child 5671 b1fce73037f8
Added adhoc trace sources fro TxOk and TxError
src/devices/wifi/adhoc-wifi-mac.cc
src/devices/wifi/adhoc-wifi-mac.h
--- a/src/devices/wifi/adhoc-wifi-mac.cc	Mon Aug 17 13:19:23 2009 +0400
+++ b/src/devices/wifi/adhoc-wifi-mac.cc	Tue Aug 18 11:47:17 2009 +0400
@@ -28,6 +28,7 @@
 #include "ns3/pointer.h"
 #include "ns3/packet.h"
 #include "ns3/log.h"
+#include "ns3/trace-source-accessor.h"
 
 NS_LOG_COMPONENT_DEFINE ("AdhocWifiMac");
 
@@ -48,7 +49,17 @@
                    PointerValue (),
                    MakePointerAccessor (&AdhocWifiMac::GetDcaTxop,
                                         &AdhocWifiMac::SetDcaTxop),
-                   MakePointerChecker<DcaTxop> ()) 
+                   MakePointerChecker<DcaTxop> ())
+  .AddTraceSource ( "TxOkHeader",
+                    "The header of successfully transmitted packet",
+                    MakeTraceSourceAccessor (
+                      &AdhocWifiMac::m_txOkCallback)
+                  )
+  .AddTraceSource ( "TxErrHeader",
+                    "The header of unsuccessfully transmitted packet",
+                    MakeTraceSourceAccessor (
+                      &AdhocWifiMac::m_txErrCallback)
+                  )
     ;
   return tid;
 }
@@ -257,7 +268,16 @@
   m_dca = dcaTxop;
   m_dca->SetLow (m_low);
   m_dca->SetManager (m_dcfManager);
+  m_dca->SetTxFailedCallback (MakeCallback (&AdhocWifiMac::TxFailed, this));
 }
-
-
+void
+AdhocWifiMac::TxOk (const WifiMacHeader &hdr)
+{
+  m_txOkCallback (hdr);
+}
+void
+AdhocWifiMac::TxFailed (const WifiMacHeader &hdr)
+{
+  m_txErrCallback (hdr);
+}
 } // namespace ns3
--- a/src/devices/wifi/adhoc-wifi-mac.h	Mon Aug 17 13:19:23 2009 +0400
+++ b/src/devices/wifi/adhoc-wifi-mac.h	Tue Aug 18 11:47:17 2009 +0400
@@ -88,6 +88,8 @@
   AdhocWifiMac &operator = (const AdhocWifiMac &o);
   Ptr<DcaTxop> GetDcaTxop(void) const;
   void SetDcaTxop (Ptr<DcaTxop> dcaTxop);
+  void TxOk (WifiMacHeader const &hdr);
+  void TxFailed (WifiMacHeader const &hdr);
 
   Ptr<DcaTxop> m_dca;
   Callback<void,Ptr<Packet>, Mac48Address, Mac48Address> m_upCallback;
@@ -97,6 +99,8 @@
   MacRxMiddle *m_rxMiddle;
   Ptr<MacLow> m_low;
   Ssid m_ssid;
+  TracedCallback<WifiMacHeader const &> m_txOkCallback;
+  TracedCallback<WifiMacHeader const &> m_txErrCallback;
 };
 
 } // namespace ns3