TracedValue callback function signatures.

This commit is contained in:
Peter D. Barnes, Jr.
2014-10-02 21:17:48 -07:00
parent 24144c56f9
commit cc56e83767
32 changed files with 147 additions and 50 deletions

View File

@@ -33,7 +33,8 @@ public:
.AddConstructor<MyObject> ()
.AddTraceSource ("MyInteger",
"An integer value to trace.",
MakeTraceSourceAccessor (&MyObject::m_myInt))
MakeTraceSourceAccessor (&MyObject::m_myInt),
"ns3::TracedValue::Int32Callback")
;
return tid;
}

View File

@@ -496,6 +496,15 @@ public:
*/
TimeWithUnit As (const enum Unit unit) const;
/**
* TracedValue callback signature for Time
*
* \param [in] oldValue original value of the traced variable
* \param [in] newValue new value of the traced variable
*/
typedef void (* TracedValueCallback)(const Time oldValue,
const Time newValue);
private:
/** How to convert between other units and the current unit. */
struct Information

View File

@@ -41,9 +41,21 @@ class ValueClassTest
{
public:
ValueClassTest () {}
/**
* TracedValue callback signature for ValueClassTest
*
* \param [in] oldValue original value of the traced variable
* \param [in] newValue new value of the traced variable
*/
typedef void (* TracedValueCallback)(const ValueClassTest oldValue,
const ValueClassTest newValue);
private:
int m_v;
};
bool operator != (const ValueClassTest &a, const ValueClassTest &b)
{
return true;
@@ -170,11 +182,13 @@ public:
MakeValueClassTestAccessor (&AttributeObjectTest::m_valueSrc),
MakeValueClassTestChecker ())
.AddTraceSource ("Source1", "help test",
MakeTraceSourceAccessor (&AttributeObjectTest::m_intSrc1))
MakeTraceSourceAccessor (&AttributeObjectTest::m_intSrc1),
"ns3::TracedValue::Int8Callback")
.AddTraceSource ("Source2", "help text",
MakeTraceSourceAccessor (&AttributeObjectTest::m_cb))
.AddTraceSource ("ValueSource", "help text",
MakeTraceSourceAccessor (&AttributeObjectTest::m_valueSrc))
MakeTraceSourceAccessor (&AttributeObjectTest::m_valueSrc),
"ns3::ValueClassTest::TracedValueCallback")
.AddAttribute ("Pointer", "help text",
PointerValue (),
MakePointerAccessor (&AttributeObjectTest::m_ptr),

View File

@@ -97,7 +97,8 @@ ConfigTestObject::GetTypeId (void)
MakeIntegerAccessor (&ConfigTestObject::m_trace),
MakeIntegerChecker<int16_t> ())
.AddTraceSource ("Source", "XX",
MakeTraceSourceAccessor (&ConfigTestObject::m_trace))
MakeTraceSourceAccessor (&ConfigTestObject::m_trace),
"ns3::TracedValue::Int16Callback")
;
return tid;
}

View File

@@ -31,7 +31,7 @@
namespace ns3 {
NS_LOG_COMPONENT_DEFINE ("BasicEnergyHarvester");
NS_OBJECT_ENSURE_REGISTERED (BasicEnergyHarvester);
TypeId
@@ -53,10 +53,12 @@ BasicEnergyHarvester::GetTypeId (void)
MakePointerChecker<RandomVariableStream> ())
.AddTraceSource ("HarvestedPower",
"Harvested power by the BasicEnergyHarvester.",
MakeTraceSourceAccessor (&BasicEnergyHarvester::m_harvestedPower))
MakeTraceSourceAccessor (&BasicEnergyHarvester::m_harvestedPower),
"ns3::TracedValue::DoubleCallback")
.AddTraceSource ("TotalEnergyHarvested",
"Total energy harvested by the harvester.",
MakeTraceSourceAccessor (&BasicEnergyHarvester::m_totalEnergyHarvestedJ))
MakeTraceSourceAccessor (&BasicEnergyHarvester::m_totalEnergyHarvestedJ),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -67,7 +67,8 @@ BasicEnergySource::GetTypeId (void)
MakeTimeChecker ())
.AddTraceSource ("RemainingEnergy",
"Remaining energy at BasicEnergySource.",
MakeTraceSourceAccessor (&BasicEnergySource::m_remainingEnergyJ))
MakeTraceSourceAccessor (&BasicEnergySource::m_remainingEnergyJ),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -104,7 +104,8 @@ LiIonEnergySource::GetTypeId (void)
MakeTimeChecker ())
.AddTraceSource ("RemainingEnergy",
"Remaining energy at BasicEnergySource.",
MakeTraceSourceAccessor (&LiIonEnergySource::m_remainingEnergyJ))
MakeTraceSourceAccessor (&LiIonEnergySource::m_remainingEnergyJ),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -81,10 +81,12 @@ RvBatteryModel::GetTypeId (void)
MakeIntegerChecker<int> ())
.AddTraceSource ("RvBatteryModelBatteryLevel",
"RV battery model battery level.",
MakeTraceSourceAccessor (&RvBatteryModel::m_batteryLevel))
MakeTraceSourceAccessor (&RvBatteryModel::m_batteryLevel),
"ns3::TracedValue::DoubleCallback")
.AddTraceSource ("RvBatteryModelBatteryLifetime",
"RV battery model battery lifetime.",
MakeTraceSourceAccessor (&RvBatteryModel::m_lifetime))
MakeTraceSourceAccessor (&RvBatteryModel::m_lifetime),
"ns3::Time::TracedValueCallback")
;
return tid;
}

View File

@@ -38,7 +38,8 @@ SimpleDeviceEnergyModel::GetTypeId (void)
.AddConstructor<SimpleDeviceEnergyModel> ()
.AddTraceSource ("TotalEnergyConsumption",
"Total energy consumption of the radio device.",
MakeTraceSourceAccessor (&SimpleDeviceEnergyModel::m_totalEnergyConsumption))
MakeTraceSourceAccessor (&SimpleDeviceEnergyModel::m_totalEnergyConsumption),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -81,7 +81,8 @@ WifiRadioEnergyModel::GetTypeId (void)
MakePointerChecker<WifiTxCurrentModel> ())
.AddTraceSource ("TotalEnergyConsumption",
"Total energy consumption of the radio device.",
MakeTraceSourceAccessor (&WifiRadioEnergyModel::m_totalEnergyConsumption))
MakeTraceSourceAccessor (&WifiRadioEnergyModel::m_totalEnergyConsumption),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -160,25 +160,32 @@ TypeId CoDelQueue::GetTypeId (void)
MakeTimeChecker ())
.AddTraceSource ("Count",
"CoDel count",
MakeTraceSourceAccessor (&CoDelQueue::m_count))
MakeTraceSourceAccessor (&CoDelQueue::m_count),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("DropCount",
"CoDel drop count",
MakeTraceSourceAccessor (&CoDelQueue::m_dropCount))
MakeTraceSourceAccessor (&CoDelQueue::m_dropCount),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("LastCount",
"CoDel lastcount",
MakeTraceSourceAccessor (&CoDelQueue::m_lastCount))
MakeTraceSourceAccessor (&CoDelQueue::m_lastCount),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("DropState",
"Dropping state",
MakeTraceSourceAccessor (&CoDelQueue::m_dropping))
MakeTraceSourceAccessor (&CoDelQueue::m_dropping),
"ns3::TracedValue::BoolCallback")
.AddTraceSource ("BytesInQueue",
"Number of bytes in the queue",
MakeTraceSourceAccessor (&CoDelQueue::m_bytesInQueue))
MakeTraceSourceAccessor (&CoDelQueue::m_bytesInQueue),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("Sojourn",
"Time in the queue",
MakeTraceSourceAccessor (&CoDelQueue::m_sojourn))
MakeTraceSourceAccessor (&CoDelQueue::m_sojourn),
"ns3::Time::TracedValueCallback")
.AddTraceSource ("DropNext",
"Time until next packet drop",
MakeTraceSourceAccessor (&CoDelQueue::m_dropNext))
MakeTraceSourceAccessor (&CoDelQueue::m_dropNext),
"ns3::TracedValue::Uint32Callback")
;
return tid;

View File

@@ -56,10 +56,16 @@ NscTcpSocketImpl::GetTypeId ()
.SetParent<TcpSocket> ()
.AddTraceSource ("CongestionWindow",
"The TCP connection's congestion window",
MakeTraceSourceAccessor (&NscTcpSocketImpl::m_cWnd))
MakeTraceSourceAccessor (&NscTcpSocketImpl::m_cWnd),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("SlowStartThreshold",
"TCP slow start threshold (bytes)",
MakeTraceSourceAccessor (&NscTcpSocketImpl::m_ssThresh))
MakeTraceSourceAccessor (&NscTcpSocketImpl::m_ssThresh),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("State",
"TCP state",
MakeTraceSourceAccessor (&NscTcpSocketImpl::m_state),
"ns3::TcpStatesTracedValueCallback")
;
return tid;
}

View File

@@ -50,10 +50,12 @@ TcpNewReno::GetTypeId (void)
MakeBooleanChecker ())
.AddTraceSource ("CongestionWindow",
"The TCP connection's congestion window",
MakeTraceSourceAccessor (&TcpNewReno::m_cWnd))
MakeTraceSourceAccessor (&TcpNewReno::m_cWnd),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("SlowStartThreshold",
"TCP slow start threshold (bytes)",
MakeTraceSourceAccessor (&TcpNewReno::m_ssThresh))
MakeTraceSourceAccessor (&TcpNewReno::m_ssThresh),
"ns3::TracedValue::Uint32Callback")
;
return tid;
}

View File

@@ -46,10 +46,12 @@ TcpReno::GetTypeId (void)
MakeUintegerChecker<uint32_t> ())
.AddTraceSource ("CongestionWindow",
"The TCP connection's congestion window",
MakeTraceSourceAccessor (&TcpReno::m_cWnd))
MakeTraceSourceAccessor (&TcpReno::m_cWnd),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("SlowStartThreshold",
"TCP slow start threshold (bytes)",
MakeTraceSourceAccessor (&TcpReno::m_ssThresh))
MakeTraceSourceAccessor (&TcpReno::m_ssThresh),
"ns3::TracedValue::Uint32Callback")
;
return tid;
}

View File

@@ -35,7 +35,8 @@ TcpRxBuffer::GetTypeId (void)
.AddConstructor<TcpRxBuffer> ()
.AddTraceSource ("NextRxSequence",
"Next sequence number expected (RCV.NXT)",
MakeTraceSourceAccessor (&TcpRxBuffer::m_nextRxSeq))
MakeTraceSourceAccessor (&TcpRxBuffer::m_nextRxSeq),
"ns3::SequenceNumber32TracedValueCallback")
;
return tid;
}

View File

@@ -96,22 +96,28 @@ TcpSocketBase::GetTypeId (void)
MakeBooleanChecker ())
.AddTraceSource ("RTO",
"Retransmission timeout",
MakeTraceSourceAccessor (&TcpSocketBase::m_rto))
MakeTraceSourceAccessor (&TcpSocketBase::m_rto),
"ns3::Time::TracedValueCallback")
.AddTraceSource ("RTT",
"Last RTT sample",
MakeTraceSourceAccessor (&TcpSocketBase::m_lastRtt))
MakeTraceSourceAccessor (&TcpSocketBase::m_lastRtt),
"ns3::Time::TracedValueCallback")
.AddTraceSource ("NextTxSequence",
"Next sequence number to send (SND.NXT)",
MakeTraceSourceAccessor (&TcpSocketBase::m_nextTxSequence))
MakeTraceSourceAccessor (&TcpSocketBase::m_nextTxSequence),
"ns3::SequenceNumber32TracedValueCallback")
.AddTraceSource ("HighestSequence",
"Highest sequence number ever sent in socket's life time",
MakeTraceSourceAccessor (&TcpSocketBase::m_highTxMark))
MakeTraceSourceAccessor (&TcpSocketBase::m_highTxMark),
"ns3::SequenceNumber32TracedValueCallback")
.AddTraceSource ("State",
"TCP state",
MakeTraceSourceAccessor (&TcpSocketBase::m_state))
MakeTraceSourceAccessor (&TcpSocketBase::m_state),
"ns3::TcpStatesTracedValueCallback")
.AddTraceSource ("RWND",
"Remote side's flow control window",
MakeTraceSourceAccessor (&TcpSocketBase::m_rWnd))
MakeTraceSourceAccessor (&TcpSocketBase::m_rWnd),
"ns3::TracedValue::Uint32Callback")
;
return tid;
}

View File

@@ -36,7 +36,10 @@ class Node;
class Packet;
/**
* \ingroup tcp
* \brief Names of the 11 TCP states
*
* \todo This should be a member of TcpSocket.
*/
typedef enum {
CLOSED, // 0
@@ -53,6 +56,16 @@ typedef enum {
LAST_STATE
} TcpStates_t;
/**
* \ingroup tcp
* TracedValue Callback signature for TcpStates_t
*
* \param [in] oldValue original value of the traced variable
* \param [in] newValue new value of the traced variable
*/
typedef void (* TcpStatesTracedValueCallback)(const TcpStates_t oldValue,
const TcpStates_t newValue);
/**
* \ingroup socket
*

View File

@@ -46,10 +46,12 @@ TcpTahoe::GetTypeId (void)
MakeUintegerChecker<uint32_t> ())
.AddTraceSource ("CongestionWindow",
"The TCP connection's congestion window",
MakeTraceSourceAccessor (&TcpTahoe::m_cWnd))
MakeTraceSourceAccessor (&TcpTahoe::m_cWnd),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("SlowStartThreshold",
"TCP slow start threshold (bytes)",
MakeTraceSourceAccessor (&TcpTahoe::m_ssThresh))
MakeTraceSourceAccessor (&TcpTahoe::m_ssThresh),
"ns3::TracedValue::Uint32Callback")
;
return tid;
}

View File

@@ -40,7 +40,8 @@ TcpTxBuffer::GetTypeId (void)
.AddConstructor<TcpTxBuffer> ()
.AddTraceSource ("UnackSequence",
"First unacknowledged sequence number (SND.UNA)",
MakeTraceSourceAccessor (&TcpTxBuffer::m_firstByteSeq))
MakeTraceSourceAccessor (&TcpTxBuffer::m_firstByteSeq),
"ns3::SequenceNumber32TracedValueCallback")
;
return tid;
}

View File

@@ -55,10 +55,12 @@ TcpWestwood::GetTypeId (void)
.SetParent<TcpSocketBase>()
.AddConstructor<TcpWestwood>()
.AddTraceSource("CongestionWindow", "The TCP connection's congestion window",
MakeTraceSourceAccessor(&TcpWestwood::m_cWnd))
MakeTraceSourceAccessor(&TcpWestwood::m_cWnd),
"ns3::TracedValue::Uint32Callback")
.AddTraceSource ("SlowStartThreshold",
"TCP slow start threshold (bytes)",
MakeTraceSourceAccessor (&TcpWestwood::m_ssThresh))
MakeTraceSourceAccessor (&TcpWestwood::m_ssThresh),
"ns3::TracedValue::Uint32Callback")
.AddAttribute("FilterType", "Use this to choose no filter or Tustin's approximation filter",
EnumValue(TcpWestwood::TUSTIN), MakeEnumAccessor(&TcpWestwood::m_fType),
MakeEnumChecker(TcpWestwood::NONE, "None", TcpWestwood::TUSTIN, "Tustin"))
@@ -67,7 +69,8 @@ TcpWestwood::GetTypeId (void)
MakeEnumAccessor(&TcpWestwood::m_pType),
MakeEnumChecker(TcpWestwood::WESTWOOD, "Westwood",TcpWestwood::WESTWOODPLUS, "WestwoodPlus"))
.AddTraceSource("EstimatedBW", "The estimated bandwidth",
MakeTraceSourceAccessor(&TcpWestwood::m_currentBW));
MakeTraceSourceAccessor(&TcpWestwood::m_currentBW),
"ns3::TracedValue::DoubleCallback");
return tid;
}

View File

@@ -44,7 +44,8 @@ public:
.SetParent<Object> ()
.AddTraceSource ("TestTracedSequenceNumber",
"A traceable sequence number",
MakeTraceSourceAccessor (&SequenceNumberTestObj::m_testTracedSequenceNumber))
MakeTraceSourceAccessor (&SequenceNumberTestObj::m_testTracedSequenceNumber),
"ns3::SequenceNumber32TracedValueCallback")
.AddConstructor<SequenceNumberTestObj> ()
;
return tid;

View File

@@ -471,6 +471,15 @@ typedef SequenceNumber<uint32_t, int32_t> SequenceNumber32;
typedef SequenceNumber<uint16_t, int16_t> SequenceNumber16;
typedef SequenceNumber<uint8_t, int8_t> SequenceNumber8;
/**
* TracedValue callback signature for SequenceNumber32
*
* \param [in] oldValue original value of the traced variable
* \param [in] newValue new value of the traced variable
*/
typedef void (* SequenceNumber32TracedValueCallback)(const SequenceNumber32 oldValue,
const SequenceNumber32 newValue);
} // namespace ns3
#endif /* NS3_SEQ_NUM_H */

View File

@@ -60,7 +60,8 @@ Emitter::GetTypeId (void)
.SetParent<Object> ()
.AddTraceSource ("Counter",
"sample counter",
MakeTraceSourceAccessor (&Emitter::m_counter))
MakeTraceSourceAccessor (&Emitter::m_counter),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -63,7 +63,8 @@ Emitter::GetTypeId (void)
.SetParent<Object> ()
.AddTraceSource ("Counter",
"sample counter",
MakeTraceSourceAccessor (&Emitter::m_counter))
MakeTraceSourceAccessor (&Emitter::m_counter),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -63,7 +63,8 @@ Emitter::GetTypeId (void)
.SetParent<Object> ()
.AddTraceSource ("Counter",
"sample counter",
MakeTraceSourceAccessor (&Emitter::m_counter))
MakeTraceSourceAccessor (&Emitter::m_counter),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -42,7 +42,8 @@ BooleanProbe::GetTypeId ()
.AddConstructor<BooleanProbe> ()
.AddTraceSource ( "Output",
"The bool that serves as output for this probe",
MakeTraceSourceAccessor (&BooleanProbe::m_output))
MakeTraceSourceAccessor (&BooleanProbe::m_output),
"ns3::TracedValue::BoolCallback")
;
return tid;
}

View File

@@ -42,7 +42,8 @@ DoubleProbe::GetTypeId ()
.AddConstructor<DoubleProbe> ()
.AddTraceSource ( "Output",
"The double that serves as output for this probe",
MakeTraceSourceAccessor (&DoubleProbe::m_output))
MakeTraceSourceAccessor (&DoubleProbe::m_output),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -41,7 +41,8 @@ Uinteger16Probe::GetTypeId ()
.AddConstructor<Uinteger16Probe> ()
.AddTraceSource ( "Output",
"The uint16_t that serves as output for this probe",
MakeTraceSourceAccessor (&Uinteger16Probe::m_output))
MakeTraceSourceAccessor (&Uinteger16Probe::m_output),
"ns3::TracedValue::Uint16Callback")
;
return tid;
}

View File

@@ -41,7 +41,8 @@ Uinteger32Probe::GetTypeId ()
.AddConstructor<Uinteger32Probe> ()
.AddTraceSource ( "Output",
"The uint32_t that serves as output for this probe",
MakeTraceSourceAccessor (&Uinteger32Probe::m_output))
MakeTraceSourceAccessor (&Uinteger32Probe::m_output),
"ns3::TracedValue::Uint32Callback")
;
return tid;
}

View File

@@ -41,7 +41,8 @@ Uinteger8Probe::GetTypeId ()
.AddConstructor<Uinteger8Probe> ()
.AddTraceSource ( "Output",
"The uint8_t that serves as output for this probe",
MakeTraceSourceAccessor (&Uinteger8Probe::m_output))
MakeTraceSourceAccessor (&Uinteger8Probe::m_output),
"ns3::TracedValue::Uint8Callback")
;
return tid;
}

View File

@@ -55,7 +55,9 @@ SampleEmitter::GetTypeId (void)
{
static TypeId tid = TypeId ("SampleEmitter")
.SetParent<Object> ()
.AddTraceSource ("Emitter", "XX", MakeTraceSourceAccessor (&SampleEmitter::m_trace))
.AddTraceSource ("Emitter", "XX",
MakeTraceSourceAccessor (&SampleEmitter::m_trace),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}

View File

@@ -65,7 +65,8 @@ AcousticModemEnergyModel::GetTypeId (void)
MakeDoubleChecker<double> ())
.AddTraceSource ("TotalEnergyConsumption",
"Total energy consumption of the modem device.",
MakeTraceSourceAccessor (&AcousticModemEnergyModel::m_totalEnergyConsumption))
MakeTraceSourceAccessor (&AcousticModemEnergyModel::m_totalEnergyConsumption),
"ns3::TracedValue::DoubleCallback")
;
return tid;
}