Add csma-net-device to the patch
authorRuben Merz <ruben@net.t-labs.tu-berlin.de>
Tue, 17 May 2011 16:30:38 +0200
changeset 2 14f6d8198b29
parent 1 a033014dcd44
child 3 f2c32372f0e5
Add csma-net-device to the patch
001-netdevice-queue-state.patch
002-wifinetdevice-queue-state.patch
--- a/001-netdevice-queue-state.patch	Tue May 17 15:48:40 2011 +0200
+++ b/001-netdevice-queue-state.patch	Tue May 17 16:30:38 2011 +0200
@@ -23,7 +23,7 @@
 +  return 0;
 +}
 +void
-+BridgeNetDevice::SetQueueStateChange (Callback<void,uint32_t> callback)
++BridgeNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
 +{}
 +
  } // namespace ns3
@@ -36,11 +36,47 @@
  
 +  virtual uint32_t GetQueueState (uint32_t index);
 +  virtual uint32_t GetNQueues (void);
-+  virtual void SetQueueStateChange (Callback<void,uint32_t> callback);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
 +
  protected:
    virtual void DoDispose (void);
  
+diff --git a/src/csma/model/csma-net-device.cc b/src/csma/model/csma-net-device.cc
+--- a/src/csma/model/csma-net-device.cc
++++ b/src/csma/model/csma-net-device.cc
+@@ -1014,4 +1014,18 @@
+   return true;
+ }
+ 
++uint32_t
++CsmaNetDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++CsmaNetDevice::GetNQueues (void)
++{
++  return 0;
++}
++void
++CsmaNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
++
+ } // namespace ns3
+diff --git a/src/csma/model/csma-net-device.h b/src/csma/model/csma-net-device.h
+--- a/src/csma/model/csma-net-device.h
++++ b/src/csma/model/csma-net-device.h
+@@ -315,6 +315,10 @@
+   virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb);
+   virtual bool SupportsSendFrom (void) const;
+ 
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
++
+ protected:
+   /**
+    * Perform any object release functionality required to break reference 
 diff --git a/src/internet/model/loopback-net-device.cc b/src/internet/model/loopback-net-device.cc
 --- a/src/internet/model/loopback-net-device.cc
 +++ b/src/internet/model/loopback-net-device.cc
@@ -59,7 +95,7 @@
 +  return 0;
 +}
 +void
-+LoopbackNetDevice::SetQueueStateChange (Callback<void,uint32_t> callback)
++LoopbackNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
 +{}
 +
  } // namespace ns3
@@ -72,7 +108,7 @@
  
 +  virtual uint32_t GetQueueState (uint32_t index);
 +  virtual uint32_t GetNQueues (void);
-+  virtual void SetQueueStateChange (Callback<void,uint32_t> callback);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
 +
  protected:
    virtual void DoDispose (void);
@@ -99,7 +135,7 @@
 +   * Sets a callback invoked whenever a queue changes state. reports
 +   * queue index.
 +   */
-+  virtual void SetQueueStateChange (Callback<void,uint32_t> callback) = 0;
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback) = 0;
 +
  };
  
@@ -122,7 +158,7 @@
 +  return 0;
 +}
 +void
-+SimpleNetDevice::SetQueueStateChange (Callback<void,uint32_t> callback)
++SimpleNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
 +{}
 +
  } // namespace ns3
@@ -135,7 +171,7 @@
  
 +  virtual uint32_t GetQueueState (uint32_t index);
 +  virtual uint32_t GetNQueues (void);
-+  virtual void SetQueueStateChange (Callback<void,uint32_t> callback);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
 +
  protected:
    virtual void DoDispose (void);
@@ -158,7 +194,7 @@
 +  return 0;
 +}
 +void
-+WifiNetDevice::SetQueueStateChange (Callback<void,uint32_t> callback)
++WifiNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
 +{}
 +
  } // namespace ns3
@@ -172,7 +208,7 @@
  
 +  virtual uint32_t GetQueueState (uint32_t index);
 +  virtual uint32_t GetNQueues (void);
-+  virtual void SetQueueStateChange (Callback<void,uint32_t> callback);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
 +
  private:
    // This value conforms to the 802.11 specification
--- a/002-wifinetdevice-queue-state.patch	Tue May 17 15:48:40 2011 +0200
+++ b/002-wifinetdevice-queue-state.patch	Tue May 17 16:30:38 2011 +0200
@@ -1,7 +1,33 @@
 # HG changeset patch
-# Parent 663759fd43a5eba996e707f32d29d6cb640a5825
+# Parent 9b5b42ddb10a4d7076d74712cdc78b01042965b2
 # User Ruben Merz <ruben@net.t-labs.tu-berlin.de>
 # Date 1305637516 -7200
 
 WifiNetDevice queue state implementation
 
+diff --git a/src/wifi/model/wifi-net-device.cc b/src/wifi/model/wifi-net-device.cc
+--- a/src/wifi/model/wifi-net-device.cc
++++ b/src/wifi/model/wifi-net-device.cc
+@@ -376,7 +376,9 @@
+ }
+ void
+ WifiNetDevice::SetQueueStateChange (Callback<void,uint32_t> callback)
+-{}
++{
++  m_queueStateChanges.ConnectWithoutContext (callback);
++}
+ 
+ } // namespace ns3
+ 
+diff --git a/src/wifi/model/wifi-net-device.h b/src/wifi/model/wifi-net-device.h
+--- a/src/wifi/model/wifi-net-device.h
++++ b/src/wifi/model/wifi-net-device.h
+@@ -137,6 +137,8 @@
+   TracedCallback<Ptr<const Packet>, Mac48Address> m_rxLogger;
+   TracedCallback<Ptr<const Packet>, Mac48Address> m_txLogger;
+ 
++  TracedCallback<uint32_t> m_queueStateChanges;
++
+   uint32_t m_ifIndex;
+   bool m_linkUp;
+   TracedCallback<> m_linkChanges;