fw: Add nack propagation to ASF

This change implements the Best Route nack propagation algorithim
to ASF. Currently, this is not provided by ASF and can impact
the ability for consumers to retransmit packets.

Refs #5311

Change-Id: I45b643979c8726402b89028f07eaedd54c11b4c0
diff --git a/daemon/fw/asf-strategy.hpp b/daemon/fw/asf-strategy.hpp
index b3d7396..4607d4e 100644
--- a/daemon/fw/asf-strategy.hpp
+++ b/daemon/fw/asf-strategy.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -29,6 +29,7 @@
 #include "strategy.hpp"
 #include "asf-measurements.hpp"
 #include "asf-probing-module.hpp"
+#include "process-nack-traits.hpp"
 #include "retx-suppression-exponential.hpp"
 
 namespace nfd::fw {
@@ -42,7 +43,7 @@
  *      with a Smart Forwarding Plane in NDN", NDN Technical Report NDN-0042, 2016.
  *      https://named-data.net/publications/techreports/ndn-0042-1-asf/
  */
-class AsfStrategy : public Strategy
+class AsfStrategy : public Strategy, public ProcessNackTraits<AsfStrategy>
 {
 public:
   explicit
@@ -91,6 +92,8 @@
   std::unique_ptr<RetxSuppressionExponential> m_retxSuppression;
   ProbingModule m_probing;
   size_t m_nMaxTimeouts = 3;
+
+  friend ProcessNackTraits<AsfStrategy>;
 };
 
 } // namespace asf