Restructured files
authorKirill Andreev <andreev@iitp.ru>
Thu Mar 12 13:24:22 2009 +0300 (11 months ago)
changeset 479934d837b1a529
parent 4798 f5f30f79d845
child 4800 b26167ef0c84
Restructured files
src/devices/wifi/mesh-mgt-headers.cc
src/devices/wifi/mesh-mgt-headers.h
src/devices/wifi/mesh-wifi-mac-header.h
src/devices/wifi/mgt-headers.cc
src/devices/wifi/mgt-headers.h
src/devices/wifi/wifi-mac-header.h
     1.1 --- a/src/devices/wifi/mesh-mgt-headers.cc	Thu Mar 12 13:02:29 2009 +0300
     1.2 +++ b/src/devices/wifi/mesh-mgt-headers.cc	Thu Mar 12 13:24:22 2009 +0300
     1.3 @@ -25,9 +25,77 @@
     1.4  #include "ns3/address-utils.h"
     1.5  #include "ns3/simulator.h"
     1.6  #include "ns3/assert.h"
     1.7 +#include "ns3/log.h"
     1.8 +
     1.9 +NS_LOG_COMPONENT_DEFINE("MeshMgtHeaders");
    1.10 +
    1.11  
    1.12  namespace ns3
    1.13 +{/***********************************************************
    1.14 + *          Mesh Beacon
    1.15 + ***********************************************************/
    1.16 +void
    1.17 +MgtMeshBeaconHeader::SetMeshConfigurationElement(MeshConfigurationElement mesh_config)
    1.18  {
    1.19 +	m_meshConfig = mesh_config;
    1.20 +}
    1.21 +
    1.22 +void
    1.23 +MgtMeshBeaconHeader::SetWifiBeaconTimingElement(WifiBeaconTimingElement wifi_timing)
    1.24 +{
    1.25 +	m_meshTiming = wifi_timing;
    1.26 +}
    1.27 +
    1.28 +MeshConfigurationElement
    1.29 +MgtMeshBeaconHeader::GetMeshConfigurationElement()
    1.30 +{
    1.31 +	return m_meshConfig;
    1.32 +}
    1.33 +
    1.34 +WifiBeaconTimingElement
    1.35 +MgtMeshBeaconHeader::GetWifiBeaconTimingElement()
    1.36 +{
    1.37 +	return m_meshTiming;
    1.38 +}
    1.39 +
    1.40 +uint32_t
    1.41 +MgtMeshBeaconHeader::GetSerializedSize (void) const
    1.42 +{
    1.43 +	uint32_t size = (
    1.44 +			  MgtBeaconHeader::GetSerializedSize()
    1.45 +			+ m_meshConfig.GetSerializedSize()
    1.46 +			+ m_meshTiming.GetSerializedSize()
    1.47 +			+ 9 //MSCIE
    1.48 +			);
    1.49 +        return size;
    1.50 +}
    1.51 +void
    1.52 +MgtMeshBeaconHeader::Serialize (Buffer::Iterator start) const
    1.53 +{
    1.54 +	//First we pack Beacon:
    1.55 +  NS_LOG_DEBUG("Serialization beacon");
    1.56 +	Buffer::Iterator i = start;
    1.57 +	MgtBeaconHeader::Serialize(i);
    1.58 +	i.Next(MgtBeaconHeader::GetSerializedSize());
    1.59 +	i = m_meshConfig.Serialize(i);
    1.60 +	i = m_meshTiming.Serialize(i);
    1.61 +	i.Next(9); //MSCIE
    1.62 +}
    1.63 +
    1.64 +uint32_t
    1.65 +MgtMeshBeaconHeader::Deserialize (Buffer::Iterator start)
    1.66 +{
    1.67 +        NS_LOG_DEBUG("Deserialization beacon");
    1.68 +	Buffer::Iterator i = start;
    1.69 +	MgtBeaconHeader::Deserialize(start);
    1.70 +	i.Next(MgtBeaconHeader::GetSerializedSize());
    1.71 +	i = m_meshConfig.Deserialize(i);
    1.72 +	i = m_meshTiming.Deserialize(i);
    1.73 +	i.Next(9); //MSCIE
    1.74 +	return i.GetDistanceFrom (start);
    1.75 +}
    1.76 +
    1.77 +
    1.78  /***********************************************************
    1.79  *          PeerLinkOpen frame:
    1.80  ************************************************************/
     2.1 --- a/src/devices/wifi/mesh-mgt-headers.h	Thu Mar 12 13:02:29 2009 +0300
     2.2 +++ b/src/devices/wifi/mesh-mgt-headers.h	Thu Mar 12 13:24:22 2009 +0300
     2.3 @@ -35,9 +35,29 @@
     2.4  #include "mesh-wifi-prep-information-element.h"
     2.5  #include "mesh-wifi-perr-information-element.h"
     2.6  #include "mesh-wifi-rann-information-element.h"
     2.7 +#include "mesh-configuration-element.h"
     2.8 +#include "mesh-wifi-beacon-timing-element.h"
     2.9 +#include "mgt-headers.h"
    2.10 +
    2.11  #include "ssid.h"
    2.12  
    2.13  namespace ns3 {
    2.14 +class MgtMeshBeaconHeader : public MgtBeaconHeader
    2.15 +{
    2.16 +	public:
    2.17 +		void				SetMeshConfigurationElement(MeshConfigurationElement mesh_config);
    2.18 +		void				SetWifiBeaconTimingElement(WifiBeaconTimingElement wifi_timing);
    2.19 +		MeshConfigurationElement	GetMeshConfigurationElement();
    2.20 +		WifiBeaconTimingElement		GetWifiBeaconTimingElement();
    2.21 +		virtual uint32_t		GetSerializedSize (void) const;
    2.22 +		virtual void			Serialize (Buffer::Iterator start) const;
    2.23 +		virtual uint32_t		Deserialize (Buffer::Iterator start);
    2.24 +
    2.25 +	private:
    2.26 +		MeshConfigurationElement	m_meshConfig;
    2.27 +		WifiBeaconTimingElement		m_meshTiming;
    2.28 +
    2.29 +};
    2.30  
    2.31  class MeshMgtPeerLinkManFrame :	public Header
    2.32  {
     3.1 --- a/src/devices/wifi/mesh-wifi-mac-header.h	Thu Mar 12 13:02:29 2009 +0300
     3.2 +++ b/src/devices/wifi/mesh-wifi-mac-header.h	Thu Mar 12 13:24:22 2009 +0300
     3.3 @@ -1,5 +1,5 @@
     3.4 -#ifndef WIFI_MAC_HEADER_H
     3.5 -#define WIFI_MAC_HEADER_H
     3.6 +#ifndef MESH_WIFI_MAC_HEADER_H
     3.7 +#define MESH_WIFI_MAC_HEADER_H
     3.8  
     3.9  #include "ns3/header.h"
    3.10  #include "ns3/mac48-address.h"
    3.11 @@ -121,4 +121,4 @@
    3.12  		uint8_t	m_actionValue;
    3.13  };
    3.14  } // namespace ns3
    3.15 -#endif /* WIFI_MAC_HEADER_H */
    3.16 +#endif /* MESH_WIFI_MAC_HEADER_H */
     4.1 --- a/src/devices/wifi/mgt-headers.cc	Thu Mar 12 13:02:29 2009 +0300
     4.2 +++ b/src/devices/wifi/mgt-headers.cc	Thu Mar 12 13:24:22 2009 +0300
     4.3 @@ -20,8 +20,6 @@
     4.4  #include "mgt-headers.h"
     4.5  #include "ns3/simulator.h"
     4.6  #include "ns3/assert.h"
     4.7 -#include "ns3/log.h"
     4.8 -NS_LOG_COMPONENT_DEFINE("MgtHeaders");
     4.9  
    4.10  namespace ns3 {
    4.11  
    4.12 @@ -214,71 +212,6 @@
    4.13    //i.Next (3); // ds parameter set
    4.14    return i.GetDistanceFrom (start);
    4.15  }
    4.16 -/***********************************************************
    4.17 - *          Mesh Beacon
    4.18 - ***********************************************************/
    4.19 -void
    4.20 -MgtMeshBeaconHeader::SetMeshConfigurationElement(MeshConfigurationElement mesh_config)
    4.21 -{
    4.22 -	m_meshConfig = mesh_config;
    4.23 -}
    4.24 -
    4.25 -void
    4.26 -MgtMeshBeaconHeader::SetWifiBeaconTimingElement(WifiBeaconTimingElement wifi_timing)
    4.27 -{
    4.28 -	m_meshTiming = wifi_timing;
    4.29 -}
    4.30 -
    4.31 -MeshConfigurationElement
    4.32 -MgtMeshBeaconHeader::GetMeshConfigurationElement()
    4.33 -{
    4.34 -	return m_meshConfig;
    4.35 -}
    4.36 -
    4.37 -WifiBeaconTimingElement
    4.38 -MgtMeshBeaconHeader::GetWifiBeaconTimingElement()
    4.39 -{
    4.40 -	return m_meshTiming;
    4.41 -}
    4.42 -
    4.43 -uint32_t
    4.44 -MgtMeshBeaconHeader::GetSerializedSize (void) const
    4.45 -{
    4.46 -	uint32_t size = (
    4.47 -			  MgtBeaconHeader::GetSerializedSize()
    4.48 -			+ m_meshConfig.GetSerializedSize()
    4.49 -			+ m_meshTiming.GetSerializedSize()
    4.50 -			+ 9 //MSCIE
    4.51 -			);
    4.52 -        return size;
    4.53 -}
    4.54 -
    4.55 -void
    4.56 -MgtMeshBeaconHeader::Serialize (Buffer::Iterator start) const
    4.57 -{
    4.58 -	//First we pack Beacon:
    4.59 -  NS_LOG_DEBUG("Serialization beacon");
    4.60 -	Buffer::Iterator i = start;
    4.61 -	MgtBeaconHeader::Serialize(i);
    4.62 -	i.Next(MgtBeaconHeader::GetSerializedSize());
    4.63 -	i = m_meshConfig.Serialize(i);
    4.64 -	i = m_meshTiming.Serialize(i);
    4.65 -	i.Next(9); //MSCIE
    4.66 -}
    4.67 -
    4.68 -uint32_t
    4.69 -MgtMeshBeaconHeader::Deserialize (Buffer::Iterator start)
    4.70 -{
    4.71 -        NS_LOG_DEBUG("Deserialization beacon");
    4.72 -	Buffer::Iterator i = start;
    4.73 -	MgtBeaconHeader::Deserialize(start);
    4.74 -	i.Next(MgtBeaconHeader::GetSerializedSize());
    4.75 -	i = m_meshConfig.Deserialize(i);
    4.76 -	i = m_meshTiming.Deserialize(i);
    4.77 -	i.Next(9); //MSCIE
    4.78 -	return i.GetDistanceFrom (start);
    4.79 -}
    4.80 -
    4.81  
    4.82  /***********************************************************
    4.83   *          Assoc Request
     5.1 --- a/src/devices/wifi/mgt-headers.h	Thu Mar 12 13:02:29 2009 +0300
     5.2 +++ b/src/devices/wifi/mgt-headers.h	Thu Mar 12 13:24:22 2009 +0300
     5.3 @@ -21,14 +21,12 @@
     5.4  #define MGT_HEADERS_H
     5.5  
     5.6  #include <stdint.h>
     5.7 -#include <vector>
     5.8 +//#include <vector>
     5.9  
    5.10  #include "ns3/header.h"
    5.11  #include "status-code.h"
    5.12  #include "capability-information.h"
    5.13  #include "supported-rates.h"
    5.14 -#include "mesh-configuration-element.h"
    5.15 -#include "mesh-wifi-beacon-timing-element.h"
    5.16  #include "ssid.h"
    5.17  
    5.18  namespace ns3 {
    5.19 @@ -138,22 +136,6 @@
    5.20  };
    5.21  
    5.22  class MgtBeaconHeader : public MgtProbeResponseHeader {};
    5.23 -class MgtMeshBeaconHeader : public MgtBeaconHeader
    5.24 -{
    5.25 -	public:
    5.26 -		void				SetMeshConfigurationElement(MeshConfigurationElement mesh_config);
    5.27 -		void				SetWifiBeaconTimingElement(WifiBeaconTimingElement wifi_timing);
    5.28 -		MeshConfigurationElement	GetMeshConfigurationElement();
    5.29 -		WifiBeaconTimingElement		GetWifiBeaconTimingElement();
    5.30 -		virtual uint32_t		GetSerializedSize (void) const;
    5.31 -		virtual void			Serialize (Buffer::Iterator start) const;
    5.32 -		virtual uint32_t		Deserialize (Buffer::Iterator start);
    5.33 -
    5.34 -	private:
    5.35 -		MeshConfigurationElement	m_meshConfig;
    5.36 -		WifiBeaconTimingElement		m_meshTiming;
    5.37 -
    5.38 -};
    5.39  
    5.40  
    5.41  } // namespace ns3
     6.1 --- a/src/devices/wifi/wifi-mac-header.h	Thu Mar 12 13:02:29 2009 +0300
     6.2 +++ b/src/devices/wifi/wifi-mac-header.h	Thu Mar 12 13:24:22 2009 +0300
     6.3 @@ -180,5 +180,9 @@
     6.4    uint8_t m_qosAckPolicy;
     6.5    uint16_t m_qosStuff;
     6.6  };
     6.7 +
     6.8  } // namespace ns3
     6.9 +
    6.10 +
    6.11 +
    6.12  #endif /* WIFI_MAC_HEADER_H */