Namespaces | |
asf | |
Classes | |
class | AccessStrategy |
A forwarding strategy for "access" routers. More... | |
class | AdmitAllUnsolicitedDataPolicy |
Admits all unsolicited Data. More... | |
class | AdmitLocalUnsolicitedDataPolicy |
Admits unsolicited Data from local faces. More... | |
class | AdmitNetworkUnsolicitedDataPolicy |
Admits unsolicited Data from non-local faces. More... | |
class | BestRouteStrategy |
"Best route" forwarding strategy. More... | |
class | DropAllUnsolicitedDataPolicy |
Drops all unsolicited Data. More... | |
class | MulticastStrategy |
A forwarding strategy that forwards Interests to all FIB nexthops. More... | |
class | ProcessNackTraits |
class | ProcessNackTraitsBase |
Provides a common procedure for processing Nacks. More... | |
class | RandomStrategy |
A forwarding strategy that randomly chooses a nexthop. More... | |
class | RetxSuppressionExponential |
A retransmission suppression decision algorithm that suppresses retransmissions using exponential backoff. More... | |
class | RetxSuppressionFixed |
A retransmission suppression decision algorithm that suppresses retransmissions within a fixed duration. More... | |
class | SelfLearningStrategy |
Self-learning forwarding strategy. More... | |
class | Strategy |
Base class of all forwarding strategies. More... | |
class | StrategyInfo |
Contains arbitrary information placed by the forwarding strategy on table entries. More... | |
class | StrategyParameters |
class | UnsolicitedDataPolicy |
Determines how to process an unsolicited Data packet. More... | |
Typedefs | |
using | DefaultUnsolicitedDataPolicy = DropAllUnsolicitedDataPolicy |
The default UnsolicitedDataPolicy. More... | |
Enumerations | |
enum | DuplicateNonceWhere { DUPLICATE_NONCE_NONE = 0 , DUPLICATE_NONCE_IN_SAME = (1 << 0) , DUPLICATE_NONCE_IN_OTHER = (1 << 1) , DUPLICATE_NONCE_OUT_SAME = (1 << 2) , DUPLICATE_NONCE_OUT_OTHER = (1 << 3) } |
Indicates where duplicate Nonces are found. More... | |
enum class | RetxSuppressionResult { NEW , FORWARD , SUPPRESS } |
enum class | UnsolicitedDataDecision { DROP , CACHE } |
Decision made by UnsolicitedDataPolicy. More... | |
Functions | |
int | findDuplicateNonce (const pit::Entry &pitEntry, Interest::Nonce nonce, const Face &face) |
Determine whether pitEntry has duplicate Nonce nonce . More... | |
fib::NextHopList::const_iterator | findEligibleNextHopWithEarliestOutRecord (const Face &inFace, const Interest &interest, const fib::NextHopList &nexthops, const shared_ptr< pit::Entry > &pitEntry) |
Pick an eligible NextHop with earliest out-record. More... | |
time::steady_clock::time_point | getLastOutgoing (const pit::Entry &pitEntry) |
bool | hasPendingOutRecords (const pit::Entry &pitEntry) |
Determine whether pitEntry has any pending out-records. More... | |
bool | isNextHopEligible (const Face &inFace, const Interest &interest, const fib::NextHop &nexthop, const shared_ptr< pit::Entry > &pitEntry, bool wantUnused=false, time::steady_clock::time_point now=time::steady_clock::time_point::min()) |
Determines whether a NextHop is eligible, i.e., not the same inFace . More... | |
NFD_REGISTER_STRATEGY (SelfLearningStrategy) | |
std::ostream & | operator<< (std::ostream &os, UnsolicitedDataDecision d) |
bool | wouldViolateScope (const Face &inFace, const Interest &interest, const Face &outFace) |
Determine whether forwarding the Interest in pitEntry to outFace would violate scope. More... | |
Variables | |
static class nfd::fw::NfdAutoAccessStrategyStrategyRegistrationClass | g_nfdAutoAccessStrategyStrategyRegistrationVariable |
static class nfd::fw::NfdAutoAdmitAllUnsolicitedDataPolicyUnsolicitedDataPolicyRegistrationClass | g_nfdAutoAdmitAllUnsolicitedDataPolicyUnsolicitedDataPolicyRegistrationVariable |
static class nfd::fw::NfdAutoAdmitLocalUnsolicitedDataPolicyUnsolicitedDataPolicyRegistrationClass | g_nfdAutoAdmitLocalUnsolicitedDataPolicyUnsolicitedDataPolicyRegistrationVariable |
static class nfd::fw::NfdAutoAdmitNetworkUnsolicitedDataPolicyUnsolicitedDataPolicyRegistrationClass | g_nfdAutoAdmitNetworkUnsolicitedDataPolicyUnsolicitedDataPolicyRegistrationVariable |
static class nfd::fw::NfdAutoBestRouteStrategyStrategyRegistrationClass | g_nfdAutoBestRouteStrategyStrategyRegistrationVariable |
static class nfd::fw::NfdAutoDropAllUnsolicitedDataPolicyUnsolicitedDataPolicyRegistrationClass | g_nfdAutoDropAllUnsolicitedDataPolicyUnsolicitedDataPolicyRegistrationVariable |
static class nfd::fw::NfdAutoMulticastStrategyStrategyRegistrationClass | g_nfdAutoMulticastStrategyStrategyRegistrationVariable |
static class nfd::fw::NfdAutoRandomStrategyStrategyRegistrationClass | g_nfdAutoRandomStrategyStrategyRegistrationVariable |
constexpr time::milliseconds | ROUTE_RENEW_LIFETIME = 10_min |
using nfd::fw::DefaultUnsolicitedDataPolicy = typedef DropAllUnsolicitedDataPolicy |
The default UnsolicitedDataPolicy.
Definition at line 148 of file unsolicited-data-policy.hpp.
Indicates where duplicate Nonces are found.
Definition at line 46 of file algorithm.hpp.
|
strong |
Enumerator | |
---|---|
NEW | Interest is new (not a retransmission). |
FORWARD | Interest is a retransmission and should be forwarded. |
SUPPRESS | Interest is a retransmission and should be suppressed. |
Definition at line 31 of file retx-suppression.hpp.
|
strong |
Decision made by UnsolicitedDataPolicy.
Enumerator | |
---|---|
DROP | the Data should be dropped |
CACHE | the Data should be cached in the ContentStore |
Definition at line 40 of file unsolicited-data-policy.hpp.
int nfd::fw::findDuplicateNonce | ( | const pit::Entry & | pitEntry, |
Interest::Nonce | nonce, | ||
const Face & | face | ||
) |
Determine whether pitEntry
has duplicate Nonce nonce
.
Definition at line 55 of file algorithm.cpp.
fib::NextHopList::const_iterator nfd::fw::findEligibleNextHopWithEarliestOutRecord | ( | const Face & | inFace, |
const Interest & | interest, | ||
const fib::NextHopList & | nexthops, | ||
const shared_ptr< pit::Entry > & | pitEntry | ||
) |
Pick an eligible NextHop with earliest out-record.
Definition at line 109 of file algorithm.cpp.
time::steady_clock::time_point nfd::fw::getLastOutgoing | ( | const pit::Entry & | pitEntry | ) |
Definition at line 96 of file algorithm.cpp.
bool nfd::fw::hasPendingOutRecords | ( | const pit::Entry & | pitEntry | ) |
Determine whether pitEntry
has any pending out-records.
Definition at line 85 of file algorithm.cpp.
bool nfd::fw::isNextHopEligible | ( | const Face & | inFace, |
const Interest & | interest, | ||
const fib::NextHop & | nexthop, | ||
const shared_ptr< pit::Entry > & | pitEntry, | ||
bool | wantUnused = false , |
||
time::steady_clock::time_point | now = time::steady_clock::time_point::min() |
||
) |
Determines whether a NextHop is eligible, i.e., not the same inFace
.
inFace | incoming face of current Interest |
interest | incoming Interest |
nexthop | next hop |
pitEntry | PIT entry |
wantUnused | if true, NextHop must not have unexpired out-record |
now | the current time, ignored if wantUnused == false |
Definition at line 131 of file algorithm.cpp.
nfd::fw::NFD_REGISTER_STRATEGY | ( | SelfLearningStrategy | ) |
std::ostream & nfd::fw::operator<< | ( | std::ostream & | os, |
UnsolicitedDataDecision | d | ||
) |
Definition at line 33 of file unsolicited-data-policy.cpp.
bool nfd::fw::wouldViolateScope | ( | const Face & | inFace, |
const Interest & | interest, | ||
const Face & | outFace | ||
) |
Determine whether forwarding the Interest in pitEntry
to outFace
would violate scope.
Definition at line 33 of file algorithm.cpp.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
constexpr |
Definition at line 45 of file self-learning-strategy.cpp.