Namespaces | |
| asf | |
Classes | |
| class | AccessStrategy |
| Access Router Strategy version 1. 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 version 1. More... | |
| class | BestRouteStrategy2 |
| Best Route strategy version 4. More... | |
| class | ClientControlStrategy |
| identical to BestRouteStrategy v1, for backwards compatibility More... | |
| class | DropAllUnsolicitedDataPolicy |
| drops all unsolicited Data More... | |
| class | MulticastStrategy |
| a forwarding strategy that forwards Interest to all FIB nexthops More... | |
| class | NccStrategy |
| a forwarding strategy similar to CCNx 0.7.2 More... | |
| class | RetxSuppression |
| helper for consumer retransmission suppression 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 | Strategy |
| represents a forwarding strategy More... | |
| class | StrategyInfo |
| contains arbitrary information forwarding strategy places on table entries More... | |
| class | UnsolicitedDataPolicy |
| determines how to process an unsolicited Data More... | |
Typedefs | |
| typedef std::function< unique_ptr< Strategy >Forwarder &)> | StrategyCreateFunc |
| typedef DropAllUnsolicitedDataPolicy | DefaultUnsolicitedDataPolicy |
| 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 | 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... | |
| bool | violatesScope (const pit::Entry &pitEntry, const Face &outFace) |
| bool | canForwardToLegacy (const pit::Entry &pitEntry, const Face &face) |
| decide whether Interest can be forwarded to face More... | |
| int | findDuplicateNonce (const pit::Entry &pitEntry, uint32_t 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... | |
| DEPRECATED (bool violatesScope(const pit::Entry &pitEntry, const Face &outFace)) | |
determine whether forwarding the Interest in pitEntry to outFace would violate scope More... | |
| NFD_REGISTER_STRATEGY (BestRouteStrategy) | |
| NFD_REGISTER_STRATEGY (BestRouteStrategy2) | |
| static 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 More... | |
| static 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... | |
| lp::NackReason | compareLessSevere (lp::NackReason x, lp::NackReason y) |
| NFD_REGISTER_STRATEGY (ClientControlStrategy) | |
| NFD_REGISTER_STRATEGY (MulticastStrategy) | |
| NFD_REGISTER_STRATEGY (NccStrategy) | |
| unique_ptr< Strategy > | makeDefaultStrategy (Forwarder &forwarder) |
| static std::map< Name, StrategyCreateFunc > & | getStrategyFactories () |
| void | registerStrategyImpl (const Name &strategyName, const StrategyCreateFunc &createFunc) |
| void | installStrategies (Forwarder &forwarder) |
| template<typename S > | |
| void | registerStrategy () |
| registers a strategy to be installed later More... | |
| std::ostream & | operator<< (std::ostream &os, UnsolicitedDataDecision d) |
| typedef std::function<unique_ptr<Strategy>Forwarder&)> nfd::fw::StrategyCreateFunc |
Definition at line 46 of file strategy-registry.hpp.
the default UnsolicitedDataPolicy
Definition at line 119 of file unsolicited-data-policy.hpp.
indicates where duplicate Nonces are found
Definition at line 99 of file algorithm.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 37 of file algorithm.cpp.
References ndn::nfd::FACE_SCOPE_LOCAL, ndn::Interest::getName(), nfd::face::Face::getScope(), nfd::scope_prefix::LOCALHOP, and nfd::scope_prefix::LOCALHOST.
Referenced by nfd::fw::MulticastStrategy::afterReceiveInterest(), nfd::fw::NccStrategy::afterReceiveInterest(), nfd::fw::BestRouteStrategy::afterReceiveInterest(), nfd::fw::AccessStrategy::afterReceiveInterest(), nfd::fw::NccStrategy::doPropagate(), and isNextHopEligible().
| bool nfd::fw::violatesScope | ( | const pit::Entry & | pitEntry, |
| const Face & | outFace | ||
| ) |
Definition at line 59 of file algorithm.cpp.
References ndn::nfd::FACE_SCOPE_LOCAL, ndn::nfd::FACE_SCOPE_NON_LOCAL, nfd::pit::Entry::getName(), nfd::face::Face::getScope(), nfd::pit::Entry::in_begin(), nfd::pit::Entry::in_end(), nfd::scope_prefix::LOCALHOP, and nfd::scope_prefix::LOCALHOST.
Referenced by nfd::fw::Strategy::afterReceiveNack().
| bool nfd::fw::canForwardToLegacy | ( | const pit::Entry & | pitEntry, |
| const Face & | face | ||
| ) |
decide whether Interest can be forwarded to face
Definition at line 82 of file algorithm.cpp.
References nfd::pit::Entry::in_begin(), nfd::pit::Entry::in_end(), ndn::time::steady_clock::now(), nfd::pit::Entry::out_begin(), and nfd::pit::Entry::out_end().
Referenced by nfd::fw::MulticastStrategy::afterReceiveInterest(), nfd::fw::NccStrategy::afterReceiveInterest(), nfd::fw::BestRouteStrategy::afterReceiveInterest(), and nfd::fw::NccStrategy::doPropagate().
| int nfd::fw::findDuplicateNonce | ( | const pit::Entry & | pitEntry, |
| uint32_t | nonce, | ||
| const Face & | face | ||
| ) |
determine whether pitEntry has duplicate Nonce nonce
Definition at line 106 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::startProcessNack().
| bool nfd::fw::hasPendingOutRecords | ( | const pit::Entry & | pitEntry | ) |
determine whether pitEntry has any pending out-records
Definition at line 136 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::MulticastStrategy::afterReceiveInterest(), nfd::fw::NccStrategy::afterReceiveInterest(), nfd::fw::BestRouteStrategy::afterReceiveInterest(), nfd::fw::RetxSuppressionFixed::decide(), nfd::fw::RetxSuppressionExponential::decide(), and nfd::Forwarder::startProcessNack().
| nfd::fw::DEPRECATED | ( | bool | violatesScopeconst pit::Entry &pitEntry, const Face &outFace | ) |
determine whether forwarding the Interest in pitEntry to outFace would violate scope
| nfd::fw::NFD_REGISTER_STRATEGY | ( | BestRouteStrategy | ) |
| nfd::fw::NFD_REGISTER_STRATEGY | ( | BestRouteStrategy2 | ) |
|
inlinestatic |
determines whether a NextHop is eligible
| 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 |
Definition at line 58 of file best-route-strategy2.cpp.
References nfd::fib::NextHop::getFace(), and wouldViolateScope().
Referenced by nfd::fw::BestRouteStrategy2::afterReceiveInterest(), and findEligibleNextHopWithEarliestOutRecord().
|
inlinestatic |
pick an eligible NextHop with earliest out-record
Definition at line 89 of file best-route-strategy2.cpp.
References isNextHopEligible().
Referenced by nfd::fw::BestRouteStrategy2::afterReceiveInterest().
|
inline |
lp::NackReason::NONE is treated as most severe
Definition at line 177 of file best-route-strategy2.cpp.
References ndn::lp::NONE.
Referenced by nfd::fw::BestRouteStrategy2::afterReceiveNack().
| nfd::fw::NFD_REGISTER_STRATEGY | ( | ClientControlStrategy | ) |
| nfd::fw::NFD_REGISTER_STRATEGY | ( | MulticastStrategy | ) |
| nfd::fw::NFD_REGISTER_STRATEGY | ( | NccStrategy | ) |
Definition at line 33 of file strategy-registry.cpp.
|
static |
Definition at line 39 of file strategy-registry.cpp.
Referenced by installStrategies(), and registerStrategyImpl().
| void nfd::fw::registerStrategyImpl | ( | const Name & | strategyName, |
| const StrategyCreateFunc & | createFunc | ||
| ) |
Definition at line 46 of file strategy-registry.cpp.
References getStrategyFactories().
Referenced by registerStrategy().
| void nfd::fw::installStrategies | ( | Forwarder & | forwarder | ) |
Definition at line 52 of file strategy-registry.cpp.
References nfd::Forwarder::getStrategyChoice(), getStrategyFactories(), nfd::strategy_choice::StrategyChoice::hasStrategy(), and nfd::strategy_choice::StrategyChoice::install().
Referenced by nfd::Forwarder::Forwarder().
| void nfd::fw::registerStrategy | ( | ) |
registers a strategy to be installed later
Definition at line 55 of file strategy-registry.hpp.
References registerStrategyImpl().
| std::ostream & nfd::fw::operator<< | ( | std::ostream & | os, |
| UnsolicitedDataDecision | d | ||
| ) |
Definition at line 32 of file unsolicited-data-policy.cpp.
Definition at line 33 of file access-strategy.cpp.
Definition at line 33 of file best-route-strategy2.cpp.
Definition at line 32 of file client-control-strategy.cpp.
Definition at line 35 of file strategy.cpp.
Definition at line 58 of file unsolicited-data-policy.cpp.
| admit nfd::fw::all |
Definition at line 58 of file unsolicited-data-policy.cpp.
Referenced by nfd::WebSocketChannel::WebSocketChannel().
Definition at line 66 of file unsolicited-data-policy.cpp.
| admit nfd::fw::local |
Definition at line 66 of file unsolicited-data-policy.cpp.
Definition at line 77 of file unsolicited-data-policy.cpp.
| admit nfd::fw::network |
Definition at line 77 of file unsolicited-data-policy.cpp.
Referenced by nfd::Network::operator!=().
Definition at line 88 of file unsolicited-data-policy.cpp.