|
NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
|
API Documentation
|
Go to the documentation of this file.
26 #ifndef NFD_DAEMON_FW_ASF_MEASUREMENTS_HPP
27 #define NFD_DAEMON_FW_ASF_MEASUREMENTS_HPP
44 FaceInfo(shared_ptr<const ndn::util::RttEstimator::Options> opts)
45 : m_rttEstimator(std::
move(opts))
52 return !!m_timeoutEvent;
96 return m_nSilentTimeouts;
102 m_nSilentTimeouts = nSilentTimeouts;
112 Name m_lastInterestName;
113 size_t m_nSilentTimeouts = 0;
139 : m_rttEstimatorOpts(std::
move(opts))
155 return m_isProbingDue;
167 return m_isFirstProbeScheduled;
173 m_isFirstProbeScheduled = isScheduled;
177 std::unordered_map<FaceId, FaceInfo> m_fiMap;
178 shared_ptr<const ndn::util::RttEstimator::Options> m_rttEstimatorOpts;
179 bool m_isProbingDue =
false;
180 bool m_isFirstProbeScheduled =
false;
215 shared_ptr<const ndn::util::RttEstimator::Options> m_rttEstimatorOpts;
222 #endif // NFD_DAEMON_FW_ASF_MEASUREMENTS_HPP
NamespaceInfo(shared_ptr< const ndn::util::RttEstimator::Options > opts)
void setIsProbingDue(bool isProbingDue)
static const time::nanoseconds RTT_NO_MEASUREMENT
void recordTimeout(const Name &interestName)
size_t getNSilentTimeouts() const
Helper class to retrieve and create strategy measurements.
FaceInfo & getOrCreateFaceInfo(const fib::Entry &fibEntry, const Interest &interest, FaceId faceId)
allows Strategy to access portion of Measurements table under its namespace
static constexpr int getTypeId()
static constexpr time::microseconds MEASUREMENTS_LIFETIME
Represents an absolute name.
Copyright (c) 2011-2015 Regents of the University of California.
FaceInfo(shared_ptr< const ndn::util::RttEstimator::Options > opts)
time::nanoseconds getLastRtt() const
contains arbitrary information forwarding strategy places on table entries
uint64_t FaceId
Identifies a face.
void setNSilentTimeouts(size_t nSilentTimeouts)
std::function< void()> EventCallback
Function to be invoked when a scheduled event expires.
void setIsFirstProbeScheduled(bool isScheduled)
time::nanoseconds scheduleTimeout(const Name &interestName, scheduler::EventCallback cb)
bool isProbingDue() const
bool isFirstProbeScheduled() const
NamespaceInfo & getOrCreateNamespaceInfo(const fib::Entry &fibEntry, const Interest &interest)
FaceInfo * getFaceInfo(FaceId faceId)
FaceInfo * getFaceInfo(const fib::Entry &fibEntry, const Interest &interest, FaceId faceId)
NamespaceInfo * getNamespaceInfo(const Name &prefix)
time::nanoseconds getSrtt() const
Represents an Interest packet.
Strategy information for each face in a namespace.
void extendFaceInfoLifetime(FaceInfo &info, FaceId faceId)
void addMeasurement(time::nanoseconds rtt, size_t nExpectedSamples=1)
Records a new RTT measurement.
Stores strategy information about each face in this namespace.
void recordRtt(time::nanoseconds rtt)
Represents a Measurements entry.
static const time::nanoseconds RTT_TIMEOUT
FaceInfo & getOrCreateFaceInfo(FaceId faceId)
time::nanoseconds getSmoothedRtt() const
Returns the smoothed RTT value (SRTT).
AsfMeasurements(MeasurementsAccessor &measurements)
void cancelTimeout(const Name &prefix)
bool isTimeoutScheduled() const