remove public static variables. Use public static methods

This commit is contained in:
Mathieu Lacage
2009-01-06 13:46:41 +01:00
parent 1732ab51e2
commit fc340529ee
5 changed files with 99 additions and 60 deletions

View File

@@ -224,11 +224,11 @@ InterferenceHelper::Configure80211aParameters (void)
m_80211a = true;
m_plcpLongPreambleDelayUs = 16;
m_plcpShortPreambleDelayUs = 16;
m_longPlcpHeaderMode = WifiPhy::g_6mba;
m_shortPlcpHeaderMode = WifiPhy::g_6mba;
m_longPlcpHeaderMode = WifiPhy::Get6mba ();
m_shortPlcpHeaderMode = WifiPhy::Get6mba ();
m_plcpHeaderLength = 4 + 1 + 12 + 1 + 6;
/* 4095 bytes at a 6Mb/s rate with a 1/2 coding rate. */
m_maxPacketDuration = CalculateTxDuration (4095, WifiPhy::g_6mba, WIFI_PREAMBLE_LONG);
m_maxPacketDuration = CalculateTxDuration (4095, WifiPhy::Get6mba (), WIFI_PREAMBLE_LONG);
}
void

View File

@@ -37,34 +37,6 @@ NS_LOG_COMPONENT_DEFINE ("WifiPhy");
namespace ns3 {
// Define all the WifiMode needed for 802.11a
WifiMode WifiPhy::g_6mba = WifiModeFactory::CreateBpsk ("wifia-6mbs",
true,
20000000, 6000000, 12000000);
WifiMode WifiPhy::g_9mba = WifiModeFactory::CreateBpsk ("wifia-9mbs",
false,
20000000, 9000000, 12000000);
// XXX explain why Bpsk rather than Qpsk
WifiMode WifiPhy::g_12mba = WifiModeFactory::CreateBpsk ("wifia-12mbs",
true,
20000000, 12000000, 24000000);
WifiMode WifiPhy::g_18mba = WifiModeFactory::CreateBpsk ("wifia-18mbs",
false,
20000000, 18000000, 24000000);
WifiMode WifiPhy::g_24mba = WifiModeFactory::CreateBpsk ("wifia-24mbs",
true,
20000000, 24000000, 48000000);
WifiMode WifiPhy::g_36mba = WifiModeFactory::CreateBpsk ("wifia-36mbs",
false,
20000000, 36000000, 48000000);
WifiMode WifiPhy::g_48mba = WifiModeFactory::CreateBpsk ("wifia-48mbs",
false,
20000000, 48000000, 72000000);
WifiMode WifiPhy::g_54mba = WifiModeFactory::CreateBpsk ("wifia-54mbs",
false,
20000000, 54000000, 72000000);
/****************************************************************
* This destructor is needed.
****************************************************************/
@@ -97,4 +69,71 @@ WifiPhy::~WifiPhy ()
NS_LOG_FUNCTION (this);
}
WifiMode
WifiPhy::Get6mba (void)
{
static WifiMode mode = WifiModeFactory::CreateBpsk ("wifia-6mbs",
true,
20000000, 6000000, 12000000);
return mode;
}
WifiMode
WifiPhy::Get9mba (void)
{
static WifiMode mode = WifiModeFactory::CreateBpsk ("wifia-9mbs",
false,
20000000, 9000000, 12000000);
return mode;
}
WifiMode
WifiPhy::Get12mba (void)
{
static WifiMode mode = WifiModeFactory::CreateBpsk ("wifia-12mbs",
true,
20000000, 12000000, 24000000);
return mode;
}
WifiMode
WifiPhy::Get18mba (void)
{
static WifiMode mode = WifiModeFactory::CreateBpsk ("wifia-18mbs",
false,
20000000, 18000000, 24000000);
return mode;
}
WifiMode
WifiPhy::Get24mba (void)
{
static WifiMode mode = WifiModeFactory::CreateBpsk ("wifia-24mbs",
true,
20000000, 24000000, 48000000);
return mode;
}
WifiMode
WifiPhy::Get36mba (void)
{
static WifiMode mode = WifiModeFactory::CreateBpsk ("wifia-36mbs",
false,
20000000, 36000000, 48000000);
return mode;
}
WifiMode
WifiPhy::Get48mba (void)
{
static WifiMode mode = WifiModeFactory::CreateBpsk ("wifia-48mbs",
false,
20000000, 48000000, 72000000);
return mode;
}
WifiMode
WifiPhy::Get54mba (void)
{
static WifiMode mode = WifiModeFactory::CreateBpsk ("wifia-54mbs",
false,
20000000, 54000000, 72000000);
return mode;
}
} // namespace ns3

View File

@@ -242,14 +242,14 @@ public:
virtual Ptr<WifiChannel> GetChannel (void) const = 0;
static WifiMode g_6mba;
static WifiMode g_9mba;
static WifiMode g_12mba;
static WifiMode g_18mba;
static WifiMode g_24mba;
static WifiMode g_36mba;
static WifiMode g_48mba;
static WifiMode g_54mba;
static WifiMode Get6mba (void);
static WifiMode Get9mba (void);
static WifiMode Get12mba (void);
static WifiMode Get18mba (void);
static WifiMode Get24mba (void);
static WifiMode Get36mba (void);
static WifiMode Get48mba (void);
static WifiMode Get54mba (void);
};
} // namespace ns3

View File

@@ -171,7 +171,7 @@ YansErrorRateModel::GetFecQamBer (double snr, uint32_t nbits,
double
YansErrorRateModel::GetChunkSuccessRate (WifiMode mode, double snr, uint32_t nbits) const
{
if (mode == WifiPhy::g_6mba)
if (mode == WifiPhy::Get6mba ())
{
return GetFecBpskBer (snr,
nbits,
@@ -181,7 +181,7 @@ YansErrorRateModel::GetChunkSuccessRate (WifiMode mode, double snr, uint32_t nbi
11 // adFree
);
}
else if (mode == WifiPhy::g_9mba)
else if (mode == WifiPhy::Get9mba ())
{
return GetFecBpskBer (snr,
nbits,
@@ -191,7 +191,7 @@ YansErrorRateModel::GetChunkSuccessRate (WifiMode mode, double snr, uint32_t nbi
8 // adFree
);
}
else if (mode == WifiPhy::g_12mba)
else if (mode == WifiPhy::Get12mba ())
{
return GetFecQamBer (snr,
nbits,
@@ -203,7 +203,7 @@ YansErrorRateModel::GetChunkSuccessRate (WifiMode mode, double snr, uint32_t nbi
0 // adFreePlusOne
);
}
else if (mode == WifiPhy::g_18mba)
else if (mode == WifiPhy::Get18mba ())
{
return GetFecQamBer (snr,
nbits,
@@ -215,7 +215,7 @@ YansErrorRateModel::GetChunkSuccessRate (WifiMode mode, double snr, uint32_t nbi
31 // adFreePlusOne
);
}
else if (mode == WifiPhy::g_24mba)
else if (mode == WifiPhy::Get24mba ())
{
return GetFecQamBer (snr,
nbits,
@@ -227,7 +227,7 @@ YansErrorRateModel::GetChunkSuccessRate (WifiMode mode, double snr, uint32_t nbi
0 // adFreePlusOne
);
}
else if (mode == WifiPhy::g_36mba)
else if (mode == WifiPhy::Get36mba ())
{
return GetFecQamBer (snr,
nbits,
@@ -239,7 +239,7 @@ YansErrorRateModel::GetChunkSuccessRate (WifiMode mode, double snr, uint32_t nbi
31 // adFreePlusOne
);
}
else if (mode == WifiPhy::g_48mba)
else if (mode == WifiPhy::Get48mba ())
{
return GetFecQamBer (snr,
nbits,
@@ -251,7 +251,7 @@ YansErrorRateModel::GetChunkSuccessRate (WifiMode mode, double snr, uint32_t nbi
16 // adFreePlusOne
);
}
else if (mode == WifiPhy::g_54mba)
else if (mode == WifiPhy::Get54mba ())
{
return GetFecQamBer (snr,
nbits,

View File

@@ -416,14 +416,14 @@ YansWifiPhy::Configure80211a (void)
{
NS_LOG_FUNCTION (this);
m_interference.Configure80211aParameters ();
m_modes.push_back (g_6mba);
m_modes.push_back (g_9mba);
m_modes.push_back (g_12mba);
m_modes.push_back (g_18mba);
m_modes.push_back (g_24mba);
m_modes.push_back (g_36mba);
m_modes.push_back (g_48mba);
m_modes.push_back (g_54mba);
m_modes.push_back (WifiPhy::Get6mba ());
m_modes.push_back (WifiPhy::Get9mba ());
m_modes.push_back (WifiPhy::Get12mba ());
m_modes.push_back (WifiPhy::Get18mba ());
m_modes.push_back (WifiPhy::Get24mba ());
m_modes.push_back (WifiPhy::Get36mba ());
m_modes.push_back (WifiPhy::Get48mba ());
m_modes.push_back (WifiPhy::Get54mba ());
}
void
@@ -431,11 +431,11 @@ YansWifiPhy::ConfigureHolland (void)
{
NS_LOG_FUNCTION (this);
m_interference.Configure80211aParameters ();
m_modes.push_back (g_6mba);
m_modes.push_back (g_12mba);
m_modes.push_back (g_18mba);
m_modes.push_back (g_36mba);
m_modes.push_back (g_54mba);
m_modes.push_back (WifiPhy::Get6mba ());
m_modes.push_back (WifiPhy::Get12mba ());
m_modes.push_back (WifiPhy::Get18mba ());
m_modes.push_back (WifiPhy::Get36mba ());
m_modes.push_back (WifiPhy::Get54mba ());
}
void