best-route-strategy2.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26 #ifndef NFD_DAEMON_FW_BEST_ROUTE_STRATEGY2_HPP
27 #define NFD_DAEMON_FW_BEST_ROUTE_STRATEGY2_HPP
28 
29 #include "strategy.hpp"
30 #include "process-nack-traits.hpp"
32 
33 namespace nfd {
34 namespace fw {
35 
54  , public ProcessNackTraits<BestRouteStrategy2>
55 {
56 public:
57  explicit
58  BestRouteStrategy2(Forwarder& forwarder, const Name& name = getStrategyName());
59 
60  static const Name&
62 
63  void
64  afterReceiveInterest(const Face& inFace, const Interest& interest,
65  const shared_ptr<pit::Entry>& pitEntry) override;
66 
67  void
68  afterReceiveNack(const Face& inFace, const lp::Nack& nack,
69  const shared_ptr<pit::Entry>& pitEntry) override;
70 
72  static const time::milliseconds RETX_SUPPRESSION_INITIAL;
73  static const time::milliseconds RETX_SUPPRESSION_MAX;
74  RetxSuppressionExponential m_retxSuppression;
75 
77 };
78 
79 } // namespace fw
80 } // namespace nfd
81 
82 #endif // NFD_DAEMON_FW_BEST_ROUTE_STRATEGY2_HPP
main class of NFD
Definition: forwarder.hpp:52
static const Name & getStrategyName()
BestRouteStrategy2(Forwarder &forwarder, const Name &name=getStrategyName())
Best Route strategy version 4.
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
Definition: algorithm.hpp:32
a retransmission suppression decision algorithm that suppresses retransmissions using exponential bac...
void afterReceiveNack(const Face &inFace, const lp::Nack &nack, const shared_ptr< pit::Entry > &pitEntry) override
trigger after Nack is received
void afterReceiveInterest(const Face &inFace, const Interest &interest, const shared_ptr< pit::Entry > &pitEntry) override
trigger after Interest is received
represents a forwarding strategy
Definition: strategy.hpp:37
#define PUBLIC_WITH_TESTS_ELSE_PRIVATE
Definition: common.hpp:40