--- a/src/devices/wifi/mesh-mgt-headers.cc Thu Mar 12 13:02:29 2009 +0300
+++ b/src/devices/wifi/mesh-mgt-headers.cc Thu Mar 12 13:24:22 2009 +0300
@@ -25,9 +25,77 @@
#include "ns3/address-utils.h"
#include "ns3/simulator.h"
#include "ns3/assert.h"
+#include "ns3/log.h"
+
+NS_LOG_COMPONENT_DEFINE("MeshMgtHeaders");
+
namespace ns3
+{/***********************************************************
+ * Mesh Beacon
+ ***********************************************************/
+void
+MgtMeshBeaconHeader::SetMeshConfigurationElement(MeshConfigurationElement mesh_config)
{
+ m_meshConfig = mesh_config;
+}
+
+void
+MgtMeshBeaconHeader::SetWifiBeaconTimingElement(WifiBeaconTimingElement wifi_timing)
+{
+ m_meshTiming = wifi_timing;
+}
+
+MeshConfigurationElement
+MgtMeshBeaconHeader::GetMeshConfigurationElement()
+{
+ return m_meshConfig;
+}
+
+WifiBeaconTimingElement
+MgtMeshBeaconHeader::GetWifiBeaconTimingElement()
+{
+ return m_meshTiming;
+}
+
+uint32_t
+MgtMeshBeaconHeader::GetSerializedSize (void) const
+{
+ uint32_t size = (
+ MgtBeaconHeader::GetSerializedSize()
+ + m_meshConfig.GetSerializedSize()
+ + m_meshTiming.GetSerializedSize()
+ + 9 //MSCIE
+ );
+ return size;
+}
+void
+MgtMeshBeaconHeader::Serialize (Buffer::Iterator start) const
+{
+ //First we pack Beacon:
+ NS_LOG_DEBUG("Serialization beacon");
+ Buffer::Iterator i = start;
+ MgtBeaconHeader::Serialize(i);
+ i.Next(MgtBeaconHeader::GetSerializedSize());
+ i = m_meshConfig.Serialize(i);
+ i = m_meshTiming.Serialize(i);
+ i.Next(9); //MSCIE
+}
+
+uint32_t
+MgtMeshBeaconHeader::Deserialize (Buffer::Iterator start)
+{
+ NS_LOG_DEBUG("Deserialization beacon");
+ Buffer::Iterator i = start;
+ MgtBeaconHeader::Deserialize(start);
+ i.Next(MgtBeaconHeader::GetSerializedSize());
+ i = m_meshConfig.Deserialize(i);
+ i = m_meshTiming.Deserialize(i);
+ i.Next(9); //MSCIE
+ return i.GetDistanceFrom (start);
+}
+
+
/***********************************************************
* PeerLinkOpen frame:
************************************************************/
--- a/src/devices/wifi/mesh-mgt-headers.h Thu Mar 12 13:02:29 2009 +0300
+++ b/src/devices/wifi/mesh-mgt-headers.h Thu Mar 12 13:24:22 2009 +0300
@@ -35,9 +35,29 @@
#include "mesh-wifi-prep-information-element.h"
#include "mesh-wifi-perr-information-element.h"
#include "mesh-wifi-rann-information-element.h"
+#include "mesh-configuration-element.h"
+#include "mesh-wifi-beacon-timing-element.h"
+#include "mgt-headers.h"
+
#include "ssid.h"
namespace ns3 {
+class MgtMeshBeaconHeader : public MgtBeaconHeader
+{
+ public:
+ void SetMeshConfigurationElement(MeshConfigurationElement mesh_config);
+ void SetWifiBeaconTimingElement(WifiBeaconTimingElement wifi_timing);
+ MeshConfigurationElement GetMeshConfigurationElement();
+ WifiBeaconTimingElement GetWifiBeaconTimingElement();
+ virtual uint32_t GetSerializedSize (void) const;
+ virtual void Serialize (Buffer::Iterator start) const;
+ virtual uint32_t Deserialize (Buffer::Iterator start);
+
+ private:
+ MeshConfigurationElement m_meshConfig;
+ WifiBeaconTimingElement m_meshTiming;
+
+};
class MeshMgtPeerLinkManFrame : public Header
{
--- a/src/devices/wifi/mesh-wifi-mac-header.h Thu Mar 12 13:02:29 2009 +0300
+++ b/src/devices/wifi/mesh-wifi-mac-header.h Thu Mar 12 13:24:22 2009 +0300
@@ -1,5 +1,5 @@
-#ifndef WIFI_MAC_HEADER_H
-#define WIFI_MAC_HEADER_H
+#ifndef MESH_WIFI_MAC_HEADER_H
+#define MESH_WIFI_MAC_HEADER_H
#include "ns3/header.h"
#include "ns3/mac48-address.h"
@@ -121,4 +121,4 @@
uint8_t m_actionValue;
};
} // namespace ns3
-#endif /* WIFI_MAC_HEADER_H */
+#endif /* MESH_WIFI_MAC_HEADER_H */
--- a/src/devices/wifi/mgt-headers.cc Thu Mar 12 13:02:29 2009 +0300
+++ b/src/devices/wifi/mgt-headers.cc Thu Mar 12 13:24:22 2009 +0300
@@ -20,8 +20,6 @@
#include "mgt-headers.h"
#include "ns3/simulator.h"
#include "ns3/assert.h"
-#include "ns3/log.h"
-NS_LOG_COMPONENT_DEFINE("MgtHeaders");
namespace ns3 {
@@ -214,71 +212,6 @@
//i.Next (3); // ds parameter set
return i.GetDistanceFrom (start);
}
-/***********************************************************
- * Mesh Beacon
- ***********************************************************/
-void
-MgtMeshBeaconHeader::SetMeshConfigurationElement(MeshConfigurationElement mesh_config)
-{
- m_meshConfig = mesh_config;
-}
-
-void
-MgtMeshBeaconHeader::SetWifiBeaconTimingElement(WifiBeaconTimingElement wifi_timing)
-{
- m_meshTiming = wifi_timing;
-}
-
-MeshConfigurationElement
-MgtMeshBeaconHeader::GetMeshConfigurationElement()
-{
- return m_meshConfig;
-}
-
-WifiBeaconTimingElement
-MgtMeshBeaconHeader::GetWifiBeaconTimingElement()
-{
- return m_meshTiming;
-}
-
-uint32_t
-MgtMeshBeaconHeader::GetSerializedSize (void) const
-{
- uint32_t size = (
- MgtBeaconHeader::GetSerializedSize()
- + m_meshConfig.GetSerializedSize()
- + m_meshTiming.GetSerializedSize()
- + 9 //MSCIE
- );
- return size;
-}
-
-void
-MgtMeshBeaconHeader::Serialize (Buffer::Iterator start) const
-{
- //First we pack Beacon:
- NS_LOG_DEBUG("Serialization beacon");
- Buffer::Iterator i = start;
- MgtBeaconHeader::Serialize(i);
- i.Next(MgtBeaconHeader::GetSerializedSize());
- i = m_meshConfig.Serialize(i);
- i = m_meshTiming.Serialize(i);
- i.Next(9); //MSCIE
-}
-
-uint32_t
-MgtMeshBeaconHeader::Deserialize (Buffer::Iterator start)
-{
- NS_LOG_DEBUG("Deserialization beacon");
- Buffer::Iterator i = start;
- MgtBeaconHeader::Deserialize(start);
- i.Next(MgtBeaconHeader::GetSerializedSize());
- i = m_meshConfig.Deserialize(i);
- i = m_meshTiming.Deserialize(i);
- i.Next(9); //MSCIE
- return i.GetDistanceFrom (start);
-}
-
/***********************************************************
* Assoc Request
--- a/src/devices/wifi/mgt-headers.h Thu Mar 12 13:02:29 2009 +0300
+++ b/src/devices/wifi/mgt-headers.h Thu Mar 12 13:24:22 2009 +0300
@@ -21,14 +21,12 @@
#define MGT_HEADERS_H
#include <stdint.h>
-#include <vector>
+//#include <vector>
#include "ns3/header.h"
#include "status-code.h"
#include "capability-information.h"
#include "supported-rates.h"
-#include "mesh-configuration-element.h"
-#include "mesh-wifi-beacon-timing-element.h"
#include "ssid.h"
namespace ns3 {
@@ -138,22 +136,6 @@
};
class MgtBeaconHeader : public MgtProbeResponseHeader {};
-class MgtMeshBeaconHeader : public MgtBeaconHeader
-{
- public:
- void SetMeshConfigurationElement(MeshConfigurationElement mesh_config);
- void SetWifiBeaconTimingElement(WifiBeaconTimingElement wifi_timing);
- MeshConfigurationElement GetMeshConfigurationElement();
- WifiBeaconTimingElement GetWifiBeaconTimingElement();
- virtual uint32_t GetSerializedSize (void) const;
- virtual void Serialize (Buffer::Iterator start) const;
- virtual uint32_t Deserialize (Buffer::Iterator start);
-
- private:
- MeshConfigurationElement m_meshConfig;
- WifiBeaconTimingElement m_meshTiming;
-
-};
} // namespace ns3
--- a/src/devices/wifi/wifi-mac-header.h Thu Mar 12 13:02:29 2009 +0300
+++ b/src/devices/wifi/wifi-mac-header.h Thu Mar 12 13:24:22 2009 +0300
@@ -180,5 +180,9 @@
uint8_t m_qosAckPolicy;
uint16_t m_qosStuff;
};
+
} // namespace ns3
+
+
+
#endif /* WIFI_MAC_HEADER_H */