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) |
Static Public Attributes | |
static constexpr time::seconds | DEFAULT_PROBING_INTERVAL = time::seconds(60) |
ASF Probing Module.
Definition at line 37 of file asf-probing-module.hpp.
|
explicit |
Definition at line 39 of file asf-probing-module.cpp.
void nfd::fw::asf::ProbingModule::scheduleProbe | ( | const fib::Entry & | fibEntry, |
const time::milliseconds & | interval | ||
) |
Definition at line 46 of file asf-probing-module.cpp.
References Face, 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 66 of file asf-probing-module.cpp.
References Face, nfd::fw::asf::AsfMeasurements::getFaceInfo(), 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(), websocketpp::lib::asio::milliseconds(), 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 Face, nfd::getGlobalRng(), nfd::fw::asf::AsfMeasurements::getOrCreateNamespaceInfo(), scheduleProbe(), and nfd::fw::asf::NamespaceInfo::setIsProbingDue().
Referenced by nfd::fw::asf::AsfStrategy::afterReceiveInterest().
|
static |
Definition at line 74 of file asf-probing-module.hpp.