ASF Probing Module. More...
#include <asf-probing-module.hpp>
Public Member Functions | |
ProbingModule (AsfMeasurements &measurements) | |
void | scheduleProbe (const fib::Entry &fibEntry, const time::milliseconds &interval) |
Face * | getFaceToProbe (const Face &inFace, const Interest &interest, const fib::Entry &fibEntry, const Face &faceUsed) |
bool | isProbingNeeded (const fib::Entry &fibEntry, const Interest &interest) |
void | afterForwardingProbe (const fib::Entry &fibEntry, const Interest &interest) |
void | setProbingInterval (size_t probingInterval) |
time::milliseconds | getProbingInterval () const |
Static Public Attributes | |
static constexpr time::milliseconds | DEFAULT_PROBING_INTERVAL = 1_min |
static constexpr time::milliseconds | MIN_PROBING_INTERVAL = 1_s |
ASF Probing Module.
Definition at line 37 of file asf-probing-module.hpp.
|
explicit |
Definition at line 40 of file asf-probing-module.cpp.
void nfd::fw::asf::ProbingModule::scheduleProbe | ( | const fib::Entry & | fibEntry, |
const time::milliseconds & | interval | ||
) |
Definition at line 47 of file asf-probing-module.cpp.
References nfd::fw::asf::AsfMeasurements::getNamespaceInfo(), nfd::fib::Entry::getPrefix(), nfd::scheduler::schedule(), and nfd::fw::asf::NamespaceInfo::setIsProbingDue().
Referenced by afterForwardingProbe(), and isProbingNeeded().
Face * nfd::fw::asf::ProbingModule::getFaceToProbe | ( | const Face & | inFace, |
const Interest & | interest, | ||
const fib::Entry & | fibEntry, | ||
const Face & | faceUsed | ||
) |
Definition at line 67 of file asf-probing-module.cpp.
References nfd::fw::asf::AsfMeasurements::getFaceInfo(), nfd::face::Face::getId(), nfd::fib::Entry::getNextHops(), nfd::fw::asf::FaceInfo::getSrtt(), nfd::fw::asf::FaceInfo::hasSrttMeasurement(), nfd::fw::asf::FaceInfo::isTimeout(), and nfd::fw::wouldViolateScope().
Referenced by nfd::fw::asf::AsfStrategy::afterReceiveInterest().
bool nfd::fw::asf::ProbingModule::isProbingNeeded | ( | const fib::Entry & | fibEntry, |
const Interest & | interest | ||
) |
Definition at line 114 of file asf-probing-module.cpp.
References nfd::fw::asf::AsfMeasurements::getOrCreateNamespaceInfo(), nfd::fw::asf::NamespaceInfo::isFirstProbeScheduled(), nfd::fw::asf::NamespaceInfo::isProbingDue(), scheduleProbe(), and nfd::fw::asf::NamespaceInfo::setHasFirstProbeBeenScheduled().
Referenced by nfd::fw::asf::AsfStrategy::afterReceiveInterest().
void nfd::fw::asf::ProbingModule::afterForwardingProbe | ( | const fib::Entry & | fibEntry, |
const Interest & | interest | ||
) |
Definition at line 132 of file asf-probing-module.cpp.
References nfd::fw::asf::AsfMeasurements::getOrCreateNamespaceInfo(), scheduleProbe(), and nfd::fw::asf::NamespaceInfo::setIsProbingDue().
Referenced by nfd::fw::asf::AsfStrategy::afterReceiveInterest().
void nfd::fw::asf::ProbingModule::setProbingInterval | ( | size_t | probingInterval | ) |
Definition at line 193 of file asf-probing-module.cpp.
References MIN_PROBING_INTERVAL, and ndn::to_string().
|
inline |
Definition at line 62 of file asf-probing-module.hpp.
Referenced by nfd::fw::asf::AsfStrategy::AsfStrategy().
|
static |
Definition at line 83 of file asf-probing-module.hpp.
|
static |
Definition at line 84 of file asf-probing-module.hpp.
Referenced by setProbingInterval().