model: add queue length congestion detection and signaling
add PCON consumer app
refs #4578
Change-Id: I1b04e3d123510b1ed6134a708c2710ebbb217167
diff --git a/apps/ndn-consumer-window.hpp b/apps/ndn-consumer-window.hpp
index 4e76c50..c298e17 100644
--- a/apps/ndn-consumer-window.hpp
+++ b/apps/ndn-consumer-window.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2011-2015 Regents of the University of California.
+/*
+ * Copyright (c) 2011-2018 Regents of the University of California.
*
* This file is part of ndnSIM. See AUTHORS for complete list of ndnSIM authors and
* contributors.
@@ -33,7 +33,7 @@
* \brief Ndn application for sending out Interest packets (window-based)
*
* !!! ATTENTION !!! This is highly experimental and relies on experimental features of the
- *simulator.
+ * simulator.
* Behavior may be unpredictable if used incorrectly.
*/
class ConsumerWindow : public Consumer {
@@ -57,7 +57,7 @@
WillSendOutInterest(uint32_t sequenceNumber);
public:
- typedef void (*WindowTraceCallback)(uint32_t);
+ typedef std::function<void(double)> WindowTraceCallback;
protected:
/**
@@ -92,18 +92,18 @@
void
SetSeqMax(uint32_t seqMax);
-private:
+protected:
uint32_t m_payloadSize; // expected payload size
double m_maxSize; // max size to request
uint32_t m_initialWindow;
bool m_setInitialWindowOnTimeout;
- TracedValue<uint32_t> m_window;
+ TracedValue<double> m_window;
TracedValue<uint32_t> m_inFlight;
};
} // namespace ndn
} // namespace ns3
-#endif
+#endif // NDN_CONSUMER_WINDOW_H