Fix compilation with Clang 3.2 and newer versions, including Apple Clang 5.0
Clang 3.2 requires all class members to be used in the code; this patch either removes class members that are not used or adds NS_UNUSED/NS_UNUSED_GLOBAL around them. Thanks to Andrey Mazo and Tommaso Pecorella for review.
This commit is contained in:
@@ -300,7 +300,6 @@ int main (int argc, char *argv[])
|
||||
ApplicationContainer sourceApp = ftp.Install (sources.Get(i));
|
||||
sourceApp.Start (Seconds (start_time*i));
|
||||
sourceApp.Stop (Seconds (stop_time - 3));
|
||||
Time check_start (Seconds((start_time*i)+3));
|
||||
|
||||
sinkHelper.SetAttribute ("Protocol", TypeIdValue (TcpSocketFactory::GetTypeId ()));
|
||||
ApplicationContainer sinkApp = sinkHelper.Install (sinks);
|
||||
|
||||
@@ -92,7 +92,7 @@ int main (int argc, char *argv[])
|
||||
|
||||
|
||||
Ssid ssid = Ssid ("ns380211n");
|
||||
double datarate;
|
||||
double datarate = 0;
|
||||
StringValue DataRate;
|
||||
if (i==0)
|
||||
{
|
||||
|
||||
@@ -129,7 +129,6 @@ RoutingProtocol::RoutingProtocol () :
|
||||
AllowedHelloLoss (2),
|
||||
DeletePeriod (Time (5 * std::max (ActiveRouteTimeout, HelloInterval))),
|
||||
NextHopWait (NodeTraversalTime + MilliSeconds (10)),
|
||||
TimeoutBuffer (2),
|
||||
BlackListTimeout (Time (RreqRetries * NetTraversalTime)),
|
||||
MaxQueueLen (64),
|
||||
MaxQueueTime (Seconds (30)),
|
||||
@@ -202,11 +201,6 @@ RoutingProtocol::GetTypeId (void)
|
||||
TimeValue (Seconds (15)),
|
||||
MakeTimeAccessor (&RoutingProtocol::DeletePeriod),
|
||||
MakeTimeChecker ())
|
||||
.AddAttribute ("TimeoutBuffer", "Its purpose is to provide a buffer for the timeout so that if the RREP is delayed"
|
||||
" due to congestion, a timeout is less likely to occur while the RREP is still en route back to the source.",
|
||||
UintegerValue (2),
|
||||
MakeUintegerAccessor (&RoutingProtocol::TimeoutBuffer),
|
||||
MakeUintegerChecker<uint16_t> ())
|
||||
.AddAttribute ("NetDiameter", "Net diameter measures the maximum possible number of hops between two nodes in the network",
|
||||
UintegerValue (35),
|
||||
MakeUintegerAccessor (&RoutingProtocol::NetDiameter),
|
||||
|
||||
@@ -129,11 +129,6 @@ private:
|
||||
*/
|
||||
Time DeletePeriod;
|
||||
Time NextHopWait; ///< Period of our waiting for the neighbour's RREP_ACK
|
||||
/**
|
||||
* The TimeoutBuffer is configurable. Its purpose is to provide a buffer for the timeout so that if the RREP is delayed
|
||||
* due to congestion, a timeout is less likely to occur while the RREP is still en route back to the source.
|
||||
*/
|
||||
uint16_t TimeoutBuffer;
|
||||
Time BlackListTimeout; ///< Time for which the node is put into the blacklist
|
||||
uint32_t MaxQueueLen; ///< The maximum number of packets that we allow a routing protocol to buffer.
|
||||
Time MaxQueueTime; ///< The maximum period of time that a routing protocol is allowed to buffer a packet for.
|
||||
|
||||
@@ -95,8 +95,7 @@ public:
|
||||
int64_t AssignStreams (int64_t stream);
|
||||
|
||||
private:
|
||||
|
||||
bool m_withReplacement;
|
||||
|
||||
struct RoomInfo
|
||||
{
|
||||
Ptr<Building> b;
|
||||
|
||||
@@ -60,14 +60,6 @@ private:
|
||||
virtual int64_t DoAssignStreams (int64_t stream);
|
||||
|
||||
double m_frequency; ///< frequency in MHz
|
||||
double m_lambda; ///< wavelength
|
||||
EnvironmentType m_environment;
|
||||
CitySize m_citySize;
|
||||
double m_rooftopHeight; ///< in meters
|
||||
double m_streetsOrientation; ///< in degrees [0,90]
|
||||
double m_streetsWidth; ///< in meters
|
||||
double m_buildingsExtend; ///< in meters
|
||||
double m_buildingSeparation; ///< in meters
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -330,7 +330,7 @@ Ipv4L3ClickProtocol::SetupLoopback (void)
|
||||
// First check whether an existing LoopbackNetDevice exists on the node
|
||||
for (uint32_t i = 0; i < m_node->GetNDevices (); i++)
|
||||
{
|
||||
if (device = DynamicCast<LoopbackNetDevice> (m_node->GetDevice (i)))
|
||||
if ((device = DynamicCast<LoopbackNetDevice> (m_node->GetDevice (i))))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2012,10 +2012,6 @@ private:
|
||||
|
||||
/// The upper bound on values that can be returned by this RNG stream.
|
||||
double m_max;
|
||||
|
||||
/// It's easier to work with the mode internally instead of the
|
||||
/// mean. They are related by the simple: mean = (min+max+mode)/3.
|
||||
double m_mode;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -225,13 +225,13 @@ private:
|
||||
int8_t DoGetIntSrc (void) const { return m_intSrc2; }
|
||||
|
||||
bool m_boolTestA;
|
||||
bool m_boolTest;
|
||||
int16_t m_int16;
|
||||
int16_t m_int16WithBounds;
|
||||
bool NS_UNUSED_GLOBAL (m_boolTest);
|
||||
int16_t NS_UNUSED_GLOBAL (m_int16);
|
||||
int16_t NS_UNUSED_GLOBAL (m_int16WithBounds);
|
||||
int16_t m_int16SetGet;
|
||||
uint8_t m_uint8;
|
||||
float m_float;
|
||||
enum Test_e m_enum;
|
||||
uint8_t NS_UNUSED_GLOBAL (m_uint8);
|
||||
float NS_UNUSED_GLOBAL (m_float);
|
||||
enum Test_e NS_UNUSED_GLOBAL (m_enum);
|
||||
Ptr<RandomVariableStream> m_random;
|
||||
std::vector<Ptr<Derived> > m_vector1;
|
||||
std::vector<Ptr<Derived> > m_vector2;
|
||||
|
||||
@@ -204,8 +204,6 @@ private:
|
||||
Ipv4Address m_dst;
|
||||
// / The data ack id
|
||||
uint16_t m_ackId;
|
||||
// / The ipv4 id
|
||||
uint16_t m_id;
|
||||
// / The segments left field
|
||||
uint8_t m_segsLeft;
|
||||
// / Expire time for queue entry
|
||||
|
||||
@@ -675,7 +675,6 @@ TypeId DsrOptionRerrHeader::GetInstanceTypeId () const
|
||||
|
||||
DsrOptionRerrHeader::DsrOptionRerrHeader ()
|
||||
: m_errorType (0),
|
||||
m_reserved (0),
|
||||
m_salvage (0),
|
||||
m_errorLength (4)
|
||||
{
|
||||
@@ -797,7 +796,7 @@ TypeId DsrOptionRerrUnreachHeader::GetInstanceTypeId () const
|
||||
}
|
||||
|
||||
DsrOptionRerrUnreachHeader::DsrOptionRerrUnreachHeader ()
|
||||
: m_reserved (0),
|
||||
:
|
||||
m_salvage (0)
|
||||
{
|
||||
SetType (3);
|
||||
@@ -925,7 +924,7 @@ TypeId DsrOptionRerrUnsupportHeader::GetInstanceTypeId () const
|
||||
}
|
||||
|
||||
DsrOptionRerrUnsupportHeader::DsrOptionRerrUnsupportHeader ()
|
||||
: m_reserved (0),
|
||||
:
|
||||
m_salvage (0)
|
||||
{
|
||||
SetType (3);
|
||||
|
||||
@@ -376,10 +376,6 @@ public:
|
||||
virtual Alignment GetAlignment () const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* \brief The data length.
|
||||
*/
|
||||
uint32_t m_dataLength;
|
||||
/**
|
||||
* \brief Identifier of the packet.
|
||||
*/
|
||||
@@ -816,18 +812,10 @@ public:
|
||||
virtual Alignment GetAlignment () const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* \brief option data length
|
||||
*/
|
||||
uint8_t m_optDataLen;
|
||||
/**
|
||||
* \brief The error type or route error option
|
||||
*/
|
||||
uint8_t m_errorType;
|
||||
/**
|
||||
* \brief The reserved field
|
||||
*/
|
||||
uint8_t m_reserved;
|
||||
/**
|
||||
* \brief The salavage field
|
||||
*/
|
||||
@@ -979,18 +967,10 @@ public:
|
||||
virtual Alignment GetAlignment () const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* \brief option data length
|
||||
*/
|
||||
uint8_t m_optDataLen;
|
||||
/**
|
||||
* \brief The error type or route error option
|
||||
*/
|
||||
uint8_t m_errorType;
|
||||
/**
|
||||
* \brief The reserved field
|
||||
*/
|
||||
uint8_t m_reserved;
|
||||
/**
|
||||
* \brief The salavage field
|
||||
*/
|
||||
@@ -1011,10 +991,6 @@ private:
|
||||
* \brief The original destination address
|
||||
*/
|
||||
Ipv4Address m_originalDst;
|
||||
/**
|
||||
* \brief The specific error type
|
||||
*/
|
||||
uint16_t m_typeSpecific;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1137,18 +1113,10 @@ public:
|
||||
virtual Alignment GetAlignment () const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* \brief option data length
|
||||
*/
|
||||
uint8_t m_optDataLen;
|
||||
/**
|
||||
* \brief The error type or route error option
|
||||
*/
|
||||
uint8_t m_errorType;
|
||||
/**
|
||||
* \brief The reserved field
|
||||
*/
|
||||
uint8_t m_reserved;
|
||||
/**
|
||||
* \brief The salavage field
|
||||
*/
|
||||
@@ -1244,10 +1212,6 @@ public:
|
||||
virtual Alignment GetAlignment () const;
|
||||
|
||||
private:
|
||||
/*
|
||||
* The option data length
|
||||
*/
|
||||
uint8_t m_optDataLen;
|
||||
/*
|
||||
* The identification field
|
||||
*/
|
||||
@@ -1355,10 +1319,6 @@ public:
|
||||
virtual Alignment GetAlignment () const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* \brief option data length
|
||||
*/
|
||||
uint8_t m_optDataLen;
|
||||
/**
|
||||
* \brief identification field
|
||||
*/
|
||||
|
||||
@@ -430,10 +430,6 @@ private:
|
||||
* \brief The route cache.
|
||||
*/
|
||||
Ptr<dsr::RouteCache> m_routeCache;
|
||||
/**
|
||||
* \brief The length of the packet.
|
||||
*/
|
||||
uint32_t m_length;
|
||||
/**
|
||||
* \brief The ip layer 3.
|
||||
*/
|
||||
@@ -488,10 +484,6 @@ public:
|
||||
virtual uint8_t Process (Ptr<Packet> packet, Ptr<Packet> dsrP, Ipv4Address ipv4Address, Ipv4Address source, Ipv4Header const& ipv4Header, uint8_t protocol, bool& isPromisc, Ipv4Address promiscSource);
|
||||
|
||||
private:
|
||||
/**
|
||||
* \brief The length of the packet.
|
||||
*/
|
||||
uint32_t m_length;
|
||||
/**
|
||||
* \brief The ip layer 3.
|
||||
*/
|
||||
@@ -561,10 +553,6 @@ private:
|
||||
* \brief The route cache.
|
||||
*/
|
||||
Ptr<dsr::RouteCache> m_routeCache;
|
||||
/**
|
||||
* \brief The length of the packet.
|
||||
*/
|
||||
uint32_t m_length;
|
||||
/**
|
||||
* \brief The ipv4 layer 3.
|
||||
*/
|
||||
@@ -623,10 +611,6 @@ private:
|
||||
* \brief The route cache.
|
||||
*/
|
||||
Ptr<dsr::RouteCache> m_routeCache;
|
||||
/**
|
||||
* \brief The length of the packet.
|
||||
*/
|
||||
uint32_t m_length;
|
||||
/**
|
||||
* \brief The ipv4 layer 3.
|
||||
*/
|
||||
@@ -685,10 +669,6 @@ private:
|
||||
* \brief The route cache.
|
||||
*/
|
||||
Ptr<dsr::RouteCache> m_routeCache;
|
||||
/**
|
||||
* \brief The length of the packet.
|
||||
*/
|
||||
uint32_t m_length;
|
||||
/**
|
||||
* \brief The ipv4 layer 3.
|
||||
*/
|
||||
|
||||
@@ -238,9 +238,6 @@ public:
|
||||
bool FindSourceEntry (Ipv4Address src, Ipv4Address dst, uint16_t id);
|
||||
|
||||
private:
|
||||
|
||||
// / The max # of requests to retransmit
|
||||
uint32_t MaxRequestRexmt;
|
||||
// / The max request period among requests
|
||||
Time MaxRequestPeriod;
|
||||
// / The original request period
|
||||
|
||||
@@ -225,7 +225,6 @@ private:
|
||||
std::vector<double> m_load; // load profile
|
||||
std::vector<Time> m_timeStamps; // time stamps of load profile
|
||||
Time m_lastSampleTime;
|
||||
uint64_t m_counter;
|
||||
|
||||
int m_numOfTerms; // # of terms for infinite sum in battery level estimation
|
||||
|
||||
|
||||
@@ -225,12 +225,6 @@ public:
|
||||
* \return the processed size
|
||||
*/
|
||||
virtual uint8_t Process (Ptr<Packet> packet, uint8_t offset, Ipv6Header const& ipv6Header, bool& isDropped);
|
||||
|
||||
private:
|
||||
/**
|
||||
* \brief The length of the packet.
|
||||
*/
|
||||
uint32_t m_length;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -173,7 +173,6 @@ private:
|
||||
Address m_destination;
|
||||
uint8_t m_protocol;
|
||||
|
||||
uint16_t m_initialChecksum;
|
||||
bool m_calcChecksum;
|
||||
bool m_goodChecksum;
|
||||
};
|
||||
|
||||
@@ -69,8 +69,6 @@ public:
|
||||
};
|
||||
|
||||
private:
|
||||
uint32_t m_headerLength;
|
||||
|
||||
uint8_t m_messageType;
|
||||
uint8_t m_procedureCode;
|
||||
|
||||
|
||||
@@ -217,7 +217,6 @@ FdTbfqSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCq
|
||||
FdTbfqFfMacScheduler::FdTbfqFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
m_timeWindow (99.0),
|
||||
m_nextRntiUl (0),
|
||||
bankSize (0)
|
||||
{
|
||||
|
||||
@@ -252,8 +252,6 @@ private:
|
||||
FfMacCschedSapProvider::CschedCellConfigReqParameters m_cschedCellConfig;
|
||||
|
||||
|
||||
double m_timeWindow;
|
||||
|
||||
uint16_t m_nextRntiUl; // RNTI of the next user to be served next scheduling in UL
|
||||
|
||||
uint32_t m_cqiTimersThreshold; // # of TTIs for which a CQI canbe considered valid
|
||||
|
||||
@@ -2223,6 +2223,13 @@ RrcAsn1Header::DeserializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedi
|
||||
return bIterator;
|
||||
}
|
||||
|
||||
void
|
||||
RrcAsn1Header::Print (std::ostream &os) const
|
||||
{
|
||||
NS_LOG_FUNCTION (this << &os);
|
||||
NS_FATAL_ERROR ("RrcAsn1Header Print() function must also specify LteRrcSap::RadioResourceConfigDedicated as a second argument");
|
||||
}
|
||||
|
||||
void
|
||||
RrcAsn1Header::Print (std::ostream &os, LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const
|
||||
{
|
||||
|
||||
@@ -82,6 +82,7 @@ protected:
|
||||
Buffer::Iterator DeserializeQoffsetRange (int8_t * qOffsetRange, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeThresholdEutra (LteRrcSap::ThresholdEutra * thresholdEutra, Buffer::Iterator bIterator);
|
||||
|
||||
void Print (std::ostream &os) const;
|
||||
/**
|
||||
* This function prints RadioResourceConfigDedicated IE, for debugging purposes.
|
||||
* @param os The output stream to use (i.e. std::cout)
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <ns3/math.h>
|
||||
#include <cfloat>
|
||||
#include <set>
|
||||
#include <climits>
|
||||
|
||||
#include <ns3/lte-amc.h>
|
||||
#include <ns3/rr-ff-mac-scheduler.h>
|
||||
@@ -978,7 +979,7 @@ RrFfMacScheduler::DoSchedDlTriggerReq (const struct FfMacSchedSapProvider::Sched
|
||||
// Divide the resource equally among the active users according to
|
||||
// Resource allocation type 0 (see sec 7.1.6.1 of 36.213)
|
||||
|
||||
int rbgPerTb = (nTbs > 0) ? ((rbgNum - rbgAllocatedNum) / nTbs) : DBL_MAX;
|
||||
int rbgPerTb = (nTbs > 0) ? ((rbgNum - rbgAllocatedNum) / nTbs) : INT_MAX;
|
||||
NS_LOG_INFO (this << " Flows to be transmitted " << nflows << " rbgPerTb " << rbgPerTb);
|
||||
if (rbgPerTb == 0)
|
||||
{
|
||||
|
||||
@@ -217,7 +217,6 @@ TdTbfqSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCq
|
||||
TdTbfqFfMacScheduler::TdTbfqFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
m_timeWindow (99.0),
|
||||
m_nextRntiUl (0),
|
||||
bankSize (0)
|
||||
{
|
||||
|
||||
@@ -252,8 +252,6 @@ private:
|
||||
FfMacCschedSapProvider::CschedCellConfigReqParameters m_cschedCellConfig;
|
||||
|
||||
|
||||
double m_timeWindow;
|
||||
|
||||
uint16_t m_nextRntiUl; // RNTI of the next user to be served next scheduling in UL
|
||||
|
||||
uint32_t m_cqiTimersThreshold; // # of TTIs for which a CQI canbe considered valid
|
||||
|
||||
@@ -191,6 +191,7 @@ LenaFdBetFfMacSchedulerTestCase1::LenaFdBetFfMacSchedulerTestCase1 (uint16_t nUs
|
||||
m_thrRefUl (thrRefUl),
|
||||
m_errorModelEnabled (errorModelEnabled)
|
||||
{
|
||||
NS_UNUSED (m_nLc);
|
||||
}
|
||||
|
||||
LenaFdBetFfMacSchedulerTestCase1::~LenaFdBetFfMacSchedulerTestCase1 ()
|
||||
|
||||
@@ -248,6 +248,7 @@ LenaFdTbfqFfMacSchedulerTestCase1::LenaFdTbfqFfMacSchedulerTestCase1 (uint16_t n
|
||||
m_thrRefUl (thrRefUl),
|
||||
m_errorModelEnabled (errorModelEnabled)
|
||||
{
|
||||
NS_UNUSED (m_nLc);
|
||||
}
|
||||
|
||||
LenaFdTbfqFfMacSchedulerTestCase1::~LenaFdTbfqFfMacSchedulerTestCase1 ()
|
||||
|
||||
@@ -97,6 +97,7 @@ LenaHarqTestCase::LenaHarqTestCase (uint16_t nUser, uint16_t dist, uint16_t tbSi
|
||||
m_amcBer (amcBer),
|
||||
m_throughputRef (thrRef)
|
||||
{
|
||||
NS_UNUSED (m_tbSize);
|
||||
}
|
||||
|
||||
LenaHarqTestCase::~LenaHarqTestCase ()
|
||||
|
||||
@@ -103,6 +103,8 @@ LteInterferenceTestCase::LteInterferenceTestCase (std::string name, double d1, d
|
||||
m_dlMcs (dlMcs),
|
||||
m_ulMcs (ulMcs)
|
||||
{
|
||||
NS_UNUSED (m_dlSe);
|
||||
NS_UNUSED (m_ulSe);
|
||||
}
|
||||
|
||||
LteInterferenceTestCase::~LteInterferenceTestCase ()
|
||||
|
||||
@@ -43,8 +43,6 @@ private:
|
||||
void GetRlcBufferSample (Ptr<RadioBearerStatsCalculator> rlcStats, uint64_t imsi, uint8_t rnti);
|
||||
|
||||
static std::string BuildNameString (uint16_t dist, std::string schedulerType, bool useIdealRrc);
|
||||
uint16_t m_nUser;
|
||||
uint16_t m_nLc;
|
||||
uint16_t m_dist;
|
||||
std::vector<uint32_t> m_estThrDl;
|
||||
std::string m_schedulerType;
|
||||
|
||||
@@ -117,6 +117,7 @@ LenaDataPhyErrorModelTestCase::LenaDataPhyErrorModelTestCase (uint16_t nUser, ui
|
||||
m_blerRef (blerRef),
|
||||
m_toleranceRxPackets (toleranceRxPackets)
|
||||
{
|
||||
NS_UNUSED (m_tbSize);
|
||||
}
|
||||
|
||||
LenaDataPhyErrorModelTestCase::~LenaDataPhyErrorModelTestCase ()
|
||||
@@ -266,6 +267,7 @@ m_dist (dist),
|
||||
m_tbSize (tbSize),
|
||||
m_blerRef (blerRef)
|
||||
{
|
||||
NS_UNUSED (m_tbSize);
|
||||
}
|
||||
|
||||
LenaDlCtrlPhyErrorModelTestCase::~LenaDlCtrlPhyErrorModelTestCase ()
|
||||
|
||||
@@ -249,6 +249,7 @@ LenaPssFfMacSchedulerTestCase1::LenaPssFfMacSchedulerTestCase1 (uint16_t nUser,
|
||||
m_thrRefUl (thrRefUl),
|
||||
m_errorModelEnabled (errorModelEnabled)
|
||||
{
|
||||
NS_UNUSED (m_nLc);
|
||||
}
|
||||
|
||||
LenaPssFfMacSchedulerTestCase1::~LenaPssFfMacSchedulerTestCase1 ()
|
||||
|
||||
@@ -191,6 +191,7 @@ LenaTdBetFfMacSchedulerTestCase1::LenaTdBetFfMacSchedulerTestCase1 (uint16_t nUs
|
||||
m_thrRefUl (thrRefUl),
|
||||
m_errorModelEnabled (errorModelEnabled)
|
||||
{
|
||||
NS_UNUSED (m_nLc);
|
||||
}
|
||||
|
||||
LenaTdBetFfMacSchedulerTestCase1::~LenaTdBetFfMacSchedulerTestCase1 ()
|
||||
|
||||
@@ -248,6 +248,7 @@ LenaTdTbfqFfMacSchedulerTestCase1::LenaTdTbfqFfMacSchedulerTestCase1 (uint16_t n
|
||||
m_thrRefUl (thrRefUl),
|
||||
m_errorModelEnabled (errorModelEnabled)
|
||||
{
|
||||
NS_UNUSED (m_nLc);
|
||||
}
|
||||
|
||||
LenaTdTbfqFfMacSchedulerTestCase1::~LenaTdTbfqFfMacSchedulerTestCase1 ()
|
||||
|
||||
@@ -46,18 +46,10 @@ AirtimeLinkMetricCalculator::GetTypeId ()
|
||||
&AirtimeLinkMetricCalculator::SetHeaderTid),
|
||||
MakeUintegerChecker<uint8_t> (0)
|
||||
)
|
||||
.AddAttribute ( "Dot11sMeshHeaderLength",
|
||||
"Length of the mesh header",
|
||||
UintegerValue (6),
|
||||
MakeUintegerAccessor (
|
||||
&AirtimeLinkMetricCalculator::m_meshHeaderLength),
|
||||
MakeUintegerChecker<uint16_t> (0)
|
||||
)
|
||||
;
|
||||
return tid;
|
||||
}
|
||||
AirtimeLinkMetricCalculator::AirtimeLinkMetricCalculator () :
|
||||
m_overheadNanosec (0)
|
||||
AirtimeLinkMetricCalculator::AirtimeLinkMetricCalculator ()
|
||||
{
|
||||
}
|
||||
void
|
||||
|
||||
@@ -47,14 +47,6 @@ public:
|
||||
void SetTestLength (uint16_t testLength);
|
||||
void SetHeaderTid (uint8_t tid);
|
||||
private:
|
||||
/// Overhead expressed in nanoseconds:DIFS + SIFS + 2 * PREAMBLE + ACK
|
||||
uint32_t m_overheadNanosec;
|
||||
/// Bt value
|
||||
uint32_t m_testLength;
|
||||
/// header length (used in overhead)
|
||||
uint16_t m_headerLength;
|
||||
/// meshHeader length (minimum 6 octets)
|
||||
uint16_t m_meshHeaderLength;
|
||||
Ptr<Packet> m_testFrame;
|
||||
WifiMacHeader m_testHeader;
|
||||
};
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
namespace ns3 {
|
||||
namespace flame {
|
||||
NS_LOG_COMPONENT_DEFINE ("FlameProtocolMac");
|
||||
FlameProtocolMac::FlameProtocolMac (uint32_t ifIndex, Ptr<FlameProtocol> protocol) :
|
||||
m_protocol (protocol), m_ifIndex (ifIndex)
|
||||
FlameProtocolMac::FlameProtocolMac (Ptr<FlameProtocol> protocol) :
|
||||
m_protocol (protocol)
|
||||
{
|
||||
}
|
||||
FlameProtocolMac::~FlameProtocolMac ()
|
||||
|
||||
@@ -34,7 +34,7 @@ class FlameProtocol;
|
||||
class FlameProtocolMac : public MeshWifiInterfaceMacPlugin
|
||||
{
|
||||
public:
|
||||
FlameProtocolMac (uint32_t, Ptr<FlameProtocol>);
|
||||
FlameProtocolMac (Ptr<FlameProtocol>);
|
||||
~FlameProtocolMac ();
|
||||
///\name Inherited from MAC plugin
|
||||
//\{
|
||||
@@ -56,7 +56,6 @@ private:
|
||||
* \{
|
||||
*/
|
||||
Ptr<FlameProtocol> m_protocol;
|
||||
uint32_t m_ifIndex;
|
||||
Ptr<MeshWifiInterfaceMac> m_parent;
|
||||
///\}
|
||||
///\name Statistics:
|
||||
|
||||
@@ -305,7 +305,7 @@ FlameProtocol::Install (Ptr<MeshPointDevice> mp)
|
||||
return false;
|
||||
}
|
||||
// Installing plugins:
|
||||
Ptr<FlameProtocolMac> flameMac = Create<FlameProtocolMac> (wifiNetDev->GetIfIndex (), this);
|
||||
Ptr<FlameProtocolMac> flameMac = Create<FlameProtocolMac> (this);
|
||||
m_interfaces[wifiNetDev->GetIfIndex ()] = flameMac;
|
||||
mac->SetBeaconGeneration (false);
|
||||
mac->InstallPlugin (flameMac);
|
||||
|
||||
@@ -73,8 +73,6 @@ private:
|
||||
void TestExpire ();
|
||||
///\}
|
||||
private:
|
||||
bool error;
|
||||
|
||||
Mac48Address dst;
|
||||
Mac48Address hop;
|
||||
uint32_t iface;
|
||||
@@ -88,7 +86,6 @@ static FlameRtableTest g_FlameRtableTest;
|
||||
|
||||
FlameRtableTest::FlameRtableTest () :
|
||||
TestCase ("FlameRtable"),
|
||||
error (false),
|
||||
dst ("01:00:00:01:00:01"),
|
||||
hop ("01:00:00:01:00:03"),
|
||||
iface (8010),
|
||||
|
||||
@@ -96,6 +96,7 @@ DistributedSimulatorImpl::DistributedSimulatorImpl ()
|
||||
m_pLBTS = new LbtsMessage[m_systemCount];
|
||||
m_grantedTime = Seconds (0);
|
||||
#else
|
||||
NS_UNUSED (m_systemCount);
|
||||
NS_FATAL_ERROR ("Can't use distributed simulator without MPI compiled in");
|
||||
#endif
|
||||
|
||||
|
||||
@@ -174,7 +174,6 @@ Experiment::Run (uint32_t param)
|
||||
"NumberOfRates", UintegerValue (m_numRates),
|
||||
"NumberOfNodes", UintegerValue (nNodes),
|
||||
"MaxReservations", UintegerValue (a),
|
||||
"RetryRate", DoubleValue (1/30.0),
|
||||
"SIFS", TimeValue (m_sifs),
|
||||
"MaxPropDelay", TimeValue (pDelay),
|
||||
"FrameSize", UintegerValue (m_pktSize));
|
||||
@@ -186,8 +185,7 @@ Experiment::Run (uint32_t param)
|
||||
|
||||
uan.SetMac ("ns3::UanMacRc",
|
||||
"NumberOfRates", UintegerValue (m_numRates),
|
||||
"MaxPropDelay", TimeValue (pDelay),
|
||||
"RetryRate", DoubleValue (1.0/100.0));
|
||||
"MaxPropDelay", TimeValue (pDelay));
|
||||
NodeContainer nodes;
|
||||
nodes.Create (nNodes);
|
||||
NetDeviceContainer devices = uan.Install (nodes, chan);
|
||||
|
||||
@@ -122,11 +122,6 @@ UanMacRcGw::GetTypeId (void)
|
||||
UintegerValue (1023),
|
||||
MakeUintegerAccessor (&UanMacRcGw::m_numRates),
|
||||
MakeUintegerChecker<uint32_t> ())
|
||||
.AddAttribute ("RetryRate",
|
||||
"Number of retry rates per second at non-gateway nodes",
|
||||
DoubleValue (1 / 10.0),
|
||||
MakeDoubleAccessor (&UanMacRcGw::m_retryRate),
|
||||
MakeDoubleChecker<double> ())
|
||||
.AddAttribute ("MaxPropDelay",
|
||||
"Maximum propagation delay between gateway and non-gateway nodes",
|
||||
TimeValue (Seconds (2)),
|
||||
@@ -152,11 +147,6 @@ UanMacRcGw::GetTypeId (void)
|
||||
DoubleValue (0.01),
|
||||
MakeDoubleAccessor (&UanMacRcGw::m_retryStep),
|
||||
MakeDoubleChecker<double> ())
|
||||
.AddAttribute ("NumberOfRetryRates",
|
||||
"Number of retry rates",
|
||||
UintegerValue (100),
|
||||
MakeUintegerAccessor (&UanMacRcGw::m_numRetryRates),
|
||||
MakeUintegerChecker<uint16_t> ())
|
||||
.AddAttribute ("TotalRate",
|
||||
"Total available channel rate in bps (for a single channel, without splitting reservation channel)",
|
||||
UintegerValue (4096),
|
||||
|
||||
@@ -116,7 +116,6 @@ private:
|
||||
uint32_t m_ctsSizeN;
|
||||
uint32_t m_ctsSizeG;
|
||||
uint32_t m_ackSize;
|
||||
double m_retryRate;
|
||||
uint16_t m_currentRetryRate;
|
||||
uint32_t m_currentRateNum;
|
||||
uint32_t m_numNodes;
|
||||
@@ -124,7 +123,6 @@ private:
|
||||
uint32_t m_rateStep;
|
||||
uint32_t m_frameSize;
|
||||
|
||||
uint16_t m_numRetryRates;
|
||||
double m_minRetryRate;
|
||||
double m_retryStep;
|
||||
|
||||
|
||||
@@ -244,11 +244,6 @@ UanMacRc::GetTypeId (void)
|
||||
DoubleValue (0.01),
|
||||
MakeDoubleAccessor (&UanMacRc::m_retryStep),
|
||||
MakeDoubleChecker<double> ())
|
||||
.AddAttribute ("NumberOfRetryRates",
|
||||
"Number of retry rates",
|
||||
UintegerValue (100),
|
||||
MakeUintegerAccessor (&UanMacRc::m_numRetryRates),
|
||||
MakeUintegerChecker<uint16_t> ())
|
||||
.AddAttribute ("MaxPropDelay",
|
||||
"Maximum possible propagation delay to gateway",
|
||||
TimeValue (Seconds (2)),
|
||||
|
||||
@@ -185,7 +185,6 @@ private:
|
||||
Time m_sifs;
|
||||
Time m_learnedProp;
|
||||
|
||||
uint16_t m_numRetryRates;
|
||||
double m_minRetryRate;
|
||||
double m_retryStep;
|
||||
|
||||
|
||||
@@ -77,7 +77,6 @@ private:
|
||||
// aarf-cd fields below
|
||||
uint32_t m_minRtsWnd;
|
||||
uint32_t m_maxRtsWnd;
|
||||
bool m_rtsFailsAsDataFails;
|
||||
bool m_turnOffRtsAfterRateDecrease;
|
||||
bool m_turnOnRtsAfterRateIncrease;
|
||||
};
|
||||
|
||||
@@ -324,7 +324,6 @@ private:
|
||||
Time m_lastSwitchingStart;
|
||||
Time m_lastSwitchingDuration;
|
||||
bool m_rxing;
|
||||
bool m_sleeping;
|
||||
Time m_eifsNoDifs;
|
||||
EventId m_accessTimeout;
|
||||
uint32_t m_slotTimeUs;
|
||||
|
||||
@@ -77,8 +77,6 @@ private:
|
||||
|
||||
double m_ber;
|
||||
Thresholds m_thresholds;
|
||||
double m_minSnr;
|
||||
double m_maxSnr;
|
||||
};
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
@@ -101,11 +101,6 @@ MinstrelWifiManager::GetTypeId (void)
|
||||
DoubleValue (75),
|
||||
MakeDoubleAccessor (&MinstrelWifiManager::m_ewmaLevel),
|
||||
MakeDoubleChecker<double> ())
|
||||
.AddAttribute ("SegmentSize",
|
||||
"The largest allowable segment size packet",
|
||||
DoubleValue (6000),
|
||||
MakeDoubleAccessor (&MinstrelWifiManager::m_segmentSize),
|
||||
MakeDoubleChecker <double> ())
|
||||
.AddAttribute ("SampleColumn",
|
||||
"The number of columns used for sampling",
|
||||
DoubleValue (10),
|
||||
|
||||
@@ -161,7 +161,6 @@ private:
|
||||
Time m_updateStats; ///< how frequent do we calculate the stats(1/10 seconds)
|
||||
double m_lookAroundRate; ///< the % to try other rates than our current rate
|
||||
double m_ewmaLevel; ///< exponential weighted moving average
|
||||
uint32_t m_segmentSize; ///< largest allowable segment size
|
||||
uint32_t m_sampleCol; ///< number of sample columns
|
||||
uint32_t m_pktLen; ///< packet length used for calculate mode TxTime
|
||||
uint32_t m_nsupported; ///< modes supported
|
||||
|
||||
@@ -46,7 +46,7 @@ enum
|
||||
};
|
||||
|
||||
WifiMacHeader::WifiMacHeader ()
|
||||
: m_ctrlPwrMgt (0),
|
||||
:
|
||||
m_ctrlMoreData (0),
|
||||
m_ctrlWep (0),
|
||||
m_ctrlOrder (1),
|
||||
|
||||
@@ -208,7 +208,6 @@ private:
|
||||
uint8_t m_ctrlFromDs;
|
||||
uint8_t m_ctrlMoreFrag;
|
||||
uint8_t m_ctrlRetry;
|
||||
uint8_t m_ctrlPwrMgt;
|
||||
uint8_t m_ctrlMoreData;
|
||||
uint8_t m_ctrlWep;
|
||||
uint8_t m_ctrlOrder;
|
||||
|
||||
@@ -167,7 +167,6 @@ WifiMacQueue::DequeueByTidAndAddress (WifiMacHeader *hdr, uint8_t tid,
|
||||
if (!m_queue.empty ())
|
||||
{
|
||||
PacketQueueI it;
|
||||
NS_ASSERT (type <= 4);
|
||||
for (it = m_queue.begin (); it != m_queue.end (); ++it)
|
||||
{
|
||||
if (it->hdr.IsQosData ())
|
||||
@@ -195,7 +194,6 @@ WifiMacQueue::PeekByTidAndAddress (WifiMacHeader *hdr, uint8_t tid,
|
||||
if (!m_queue.empty ())
|
||||
{
|
||||
PacketQueueI it;
|
||||
NS_ASSERT (type <= 4);
|
||||
for (it = m_queue.begin (); it != m_queue.end (); ++it)
|
||||
{
|
||||
if (it->hdr.IsQosData ())
|
||||
@@ -288,7 +286,6 @@ WifiMacQueue::GetNPacketsByTidAndAddress (uint8_t tid, WifiMacHeader::AddressTyp
|
||||
if (!m_queue.empty ())
|
||||
{
|
||||
PacketQueueI it;
|
||||
NS_ASSERT (type <= 4);
|
||||
for (it = m_queue.begin (); it != m_queue.end (); it++)
|
||||
{
|
||||
if (GetAddressForPacket (type, it) == addr)
|
||||
|
||||
@@ -141,7 +141,6 @@ private:
|
||||
};
|
||||
|
||||
PacketQueue m_queue;
|
||||
WifiMacParameters *m_parameters;
|
||||
uint32_t m_size;
|
||||
uint32_t m_maxSize;
|
||||
Time m_maxDelay;
|
||||
|
||||
@@ -524,14 +524,13 @@ private:
|
||||
WifiMcsList m_bssBasicMcsSet;
|
||||
|
||||
bool m_htSupported;
|
||||
bool m_isLowLatency;
|
||||
uint32_t m_maxSsrc;
|
||||
uint32_t m_maxSlrc;
|
||||
uint32_t m_rtsCtsThreshold;
|
||||
uint32_t m_fragmentationThreshold;
|
||||
uint8_t m_defaultTxPowerLevel;
|
||||
WifiMode m_nonUnicastMode;
|
||||
double m_avgSlrcCoefficient;
|
||||
|
||||
/**
|
||||
* The trace source fired when the transmission of a single RTS has failed
|
||||
*/
|
||||
|
||||
@@ -92,7 +92,6 @@ public:
|
||||
void ActivateLoss (bool loss);
|
||||
private:
|
||||
void ClearRecords (void);
|
||||
double m_speed; // in m/s
|
||||
uint8_t m_activateLoss;
|
||||
static const unsigned int TRACE_FILE_PATH_SIZE = 1024;
|
||||
char m_traceFilePath[TRACE_FILE_PATH_SIZE];
|
||||
|
||||
@@ -44,7 +44,6 @@ namespace ns3 {
|
||||
|
||||
SsServiceFlowManager::SsServiceFlowManager (Ptr<SubscriberStationNetDevice> device)
|
||||
: m_device (device),
|
||||
m_sfidIndex (100),
|
||||
m_maxDsaReqRetries (100),
|
||||
m_dsaReq (DsaReq ()),
|
||||
m_dsaAck (DsaAck ()),
|
||||
|
||||
@@ -91,8 +91,6 @@ public:
|
||||
private:
|
||||
Ptr<SubscriberStationNetDevice> m_device;
|
||||
|
||||
uint32_t m_sfidIndex;
|
||||
|
||||
uint8_t m_maxDsaReqRetries;
|
||||
|
||||
EventId m_dsaRspTimeoutEvent;
|
||||
|
||||
Reference in New Issue
Block a user