Namespaces | |
| asf | |
Classes | |
| class | AccessStrategy |
| Access Router strategy. 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 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 |
| Represents a forwarding strategy. More... | |
| class | StrategyInfo |
| Contains arbitrary information placed by the forwarding strategy on table entries. More... | |
| class | UnsolicitedDataPolicy |
| determines how to process an unsolicited Data 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 | RetxSuppressionResult { RetxSuppressionResult::NEW, RetxSuppressionResult::FORWARD, RetxSuppressionResult::SUPPRESS } |
| enum | UnsolicitedDataDecision { UnsolicitedDataDecision::DROP, UnsolicitedDataDecision::CACHE } |
| a decision made by UnsolicitedDataPolicy More... | |
Functions | |
| NFD_REGISTER_STRATEGY (AccessStrategy) | |
| bool | wouldViolateScope (const Face &inFace, const Interest &interest, const Face &outFace) |
determine whether forwarding the Interest in pitEntry to outFace would violate scope More... | |
| int | findDuplicateNonce (const pit::Entry &pitEntry, Interest::Nonce nonce, const Face &face) |
determine whether pitEntry has duplicate Nonce nonce More... | |
| bool | hasPendingOutRecords (const pit::Entry &pitEntry) |
determine whether pitEntry has any pending out-records More... | |
| time::steady_clock::time_point | getLastOutgoing (const pit::Entry &pitEntry) |
| 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... | |
| bool | isNextHopEligible (const Face &inFace, const Interest &interest, const fib::NextHop &nexthop, const shared_ptr< pit::Entry > &pitEntry, bool wantUnused, time::steady_clock::time_point now) |
| bool | isNextHopEligible (const Face &inFace, const Interest &interest, const fib::NextHop &nexthop, const shared_ptr< pit::Entry > &pitEntry, bool wantUnused=false, time::steady_clock::TimePoint now=time::steady_clock::TimePoint::min()) |
| determines whether a NextHop is eligible i.e. More... | |
| NFD_REGISTER_STRATEGY (BestRouteStrategy) | |
| NFD_REGISTER_STRATEGY (MulticastStrategy) | |
| NFD_REGISTER_STRATEGY (RandomStrategy) | |
| NFD_REGISTER_STRATEGY (SelfLearningStrategy) | |
| std::ostream & | operator<< (std::ostream &os, UnsolicitedDataDecision d) |
| using nfd::fw::DefaultUnsolicitedDataPolicy = typedef DropAllUnsolicitedDataPolicy |
The default UnsolicitedDataPolicy.
Definition at line 138 of file unsolicited-data-policy.hpp.
indicates where duplicate Nonces are found
Definition at line 47 of file algorithm.hpp.
|
strong |
| Enumerator | |
|---|---|
| NEW | Interest is new (not a retransmission) |
| FORWARD | Interest is retransmission and should be forwarded. |
| SUPPRESS | Interest is retransmission and should be suppressed. |
Definition at line 34 of file retx-suppression.hpp.
|
strong |
a decision made by UnsolicitedDataPolicy
| Enumerator | |
|---|---|
| DROP | the Data should be dropped |
| CACHE | the Data should be cached in the ContentStore |
Definition at line 36 of file unsolicited-data-policy.hpp.
| nfd::fw::NFD_REGISTER_STRATEGY | ( | AccessStrategy | ) |
| 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.
References ndn::nfd::FACE_SCOPE_LOCAL, ndn::Interest::getName(), nfd::scope_prefix::LOCALHOP, and nfd::scope_prefix::LOCALHOST.
Referenced by nfd::fw::AccessStrategy::afterReceiveInterest(), nfd::fw::SelfLearningStrategy::afterReceiveNack(), nfd::fw::asf::ProbingModule::getFaceToProbe(), and isNextHopEligible().
| 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.
References DUPLICATE_NONCE_IN_OTHER, DUPLICATE_NONCE_IN_SAME, DUPLICATE_NONCE_NONE, DUPLICATE_NONCE_OUT_OTHER, DUPLICATE_NONCE_OUT_SAME, nfd::pit::Entry::getInRecords(), and nfd::pit::Entry::getOutRecords().
Referenced by nfd::Forwarder::Forwarder().
| bool nfd::fw::hasPendingOutRecords | ( | const pit::Entry & | pitEntry | ) |
determine whether pitEntry has any pending out-records
Definition at line 85 of file algorithm.cpp.
References ndn::time::steady_clock::now(), nfd::pit::Entry::out_begin(), and nfd::pit::Entry::out_end().
Referenced by nfd::fw::asf::AsfStrategy::afterReceiveInterest(), nfd::fw::RetxSuppressionFixed::decidePerPitEntry(), nfd::fw::RetxSuppressionExponential::decidePerPitEntry(), and nfd::Forwarder::onIncomingNack().
| time::steady_clock::TimePoint nfd::fw::getLastOutgoing | ( | const pit::Entry & | pitEntry | ) |
Definition at line 96 of file algorithm.cpp.
References nfd::pit::FaceRecord::getLastRenewed(), nfd::pit::Entry::out_begin(), and nfd::pit::Entry::out_end().
Referenced by nfd::fw::RetxSuppressionFixed::decidePerPitEntry(), and nfd::fw::RetxSuppressionExponential::decidePerPitEntry().
| 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.
References websocketpp::http::status_code::found, and isNextHopEligible().
Referenced by nfd::fw::asf::AsfStrategy::afterReceiveInterest(), and nfd::fw::BestRouteStrategy::afterReceiveInterest().
| bool nfd::fw::isNextHopEligible | ( | const Face & | inFace, |
| const Interest & | interest, | ||
| const fib::NextHop & | nexthop, | ||
| const shared_ptr< pit::Entry > & | pitEntry, | ||
| bool | wantUnused, | ||
| time::steady_clock::time_point | now | ||
| ) |
Definition at line 131 of file algorithm.cpp.
References Face, nfd::fib::NextHop::getFace(), ndn::nfd::LINK_TYPE_AD_HOC, and wouldViolateScope().
Referenced by nfd::fw::MulticastStrategy::afterNewNextHop(), nfd::fw::MulticastStrategy::afterReceiveInterest(), nfd::fw::RandomStrategy::afterReceiveInterest(), nfd::fw::BestRouteStrategy::afterReceiveInterest(), nfd::fw::SelfLearningStrategy::afterReceiveNack(), findEligibleNextHopWithEarliestOutRecord(), and nfd::fw::asf::FaceStatsCompare::operator()().
| 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::TimePoint | now = time::steady_clock::TimePoint::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 | time::steady_clock::now(), ignored if !wantUnused |
| nfd::fw::NFD_REGISTER_STRATEGY | ( | BestRouteStrategy | ) |
| nfd::fw::NFD_REGISTER_STRATEGY | ( | MulticastStrategy | ) |
| nfd::fw::NFD_REGISTER_STRATEGY | ( | RandomStrategy | ) |
| nfd::fw::NFD_REGISTER_STRATEGY | ( | SelfLearningStrategy | ) |
| std::ostream & nfd::fw::operator<< | ( | std::ostream & | os, |
| UnsolicitedDataDecision | d | ||
| ) |
Definition at line 34 of file unsolicited-data-policy.cpp.
Definition at line 34 of file access-strategy.cpp.
Definition at line 33 of file best-route-strategy.cpp.
Definition at line 35 of file multicast-strategy.cpp.
Definition at line 32 of file process-nack-traits.cpp.
Definition at line 35 of file random-strategy.cpp.
Definition at line 42 of file self-learning-strategy.cpp.
Definition at line 38 of file strategy.cpp.
Referenced by nfd::TablesConfigSection::ensureConfigured().
Definition at line 70 of file unsolicited-data-policy.cpp.
Definition at line 79 of file unsolicited-data-policy.cpp.
Definition at line 91 of file unsolicited-data-policy.cpp.
Definition at line 103 of file unsolicited-data-policy.cpp.