face: send and receive NACK

refs #2930

Change-Id: I70c969ac12b493d2c83fa892beffae936cc23791
diff --git a/src/util/dummy-client-face.hpp b/src/util/dummy-client-face.hpp
index 2813779..9f46ca6 100644
--- a/src/util/dummy-client-face.hpp
+++ b/src/util/dummy-client-face.hpp
@@ -24,6 +24,7 @@
 
 #include "../face.hpp"
 #include "signal.hpp"
+#include "../lp/packet.hpp"
 
 namespace ndn {
 namespace util {
@@ -104,6 +105,14 @@
    */
   std::vector<Data> sentDatas;
 
+  /** \brief NACKs sent out of this DummyClientFace
+   *
+   *  Sent NACKs are appended to this container if options.enablePacketLogger is true.
+   *  User of this class is responsible for cleaning up the container, if necessary.
+   *  After .put, .processEvents must be called before the NACK would show up here.
+   */
+  std::vector<lp::Nack> sentNacks;
+
   /** \brief emits whenever an Interest is sent
    *
    *  After .expressInterest, .processEvents must be called before this signal would be emitted.
@@ -116,6 +125,12 @@
    */
   Signal<DummyClientFace, Data> onSendData;
 
+  /** \brief emits whenever a NACK is sent
+   *
+   *  After .put, .processEvents must be called before this signal would be emitted.
+   */
+  Signal<DummyClientFace, lp::Nack> onSendNack;
+
 private:
   shared_ptr<Transport> m_transport;
 };